# Loading the libraries
library(tswge)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## 
## Attaching package: 'tswge'
## The following object is masked from 'package:datasets':
## 
##     uspop
library(vars)
## Warning: package 'vars' was built under R version 4.3.3
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:tswge':
## 
##     cement
## Loading required package: strucchange
## Warning: package 'strucchange' was built under R version 4.3.3
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.3.3
## Loading required package: urca
## Loading required package: lmtest
## 
## Attaching package: 'lmtest'
## The following object is masked from 'package:tswge':
## 
##     wages
library(nnfor)
## Loading required package: generics
## 
## Attaching package: 'generics'
## The following object is masked from 'package:sandwich':
## 
##     estfun
## The following objects are masked from 'package:base':
## 
##     as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
##     setequal, union
library(GGally)
## Warning: package 'GGally' was built under R version 4.3.3
## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
library(RColorBrewer)

# Setting seed for consistent results
set.seed(456)

# Loading the Key Economic Indicators data (downloaded from 
# https://data.texas.gov/dataset/Key-Economic-Indicators/karz-jr5v/about_data)
kei = read.csv("Data/Key_Economic_Indicators_20240401.csv", header = TRUE)

# Checking that data was loaded correctly
head(kei)
##   Month Year Consumer.Confidence.Index.TX
## 1     1 2005                           NA
## 2     2 2005                           NA
## 3     3 2005                           NA
## 4     4 2005                           NA
## 5     5 2005                           NA
## 6     6 2005                           NA
##   Consumer.Confidence.West.South.Central Consumer.Confidence.Index.US
## 1                                     NA                           NA
## 2                                     NA                           NA
## 3                                     NA                           NA
## 4                                     NA                           NA
## 5                                     NA                           NA
## 6                                     NA                           NA
##   PCE.Deflator Consumer.Price.Index.TX Consumer.Price.Index.U.S.
## 1           NA                      NA                        NA
## 2           NA                      NA                        NA
## 3           NA                      NA                        NA
## 4           NA                      NA                        NA
## 5           NA                      NA                        NA
## 6           NA                      NA                        NA
##   CPI.U.S..Ex.Food.and.Energy Nonfarm.Employment.TX Nonfarm.Employment.U.S.
## 1                          NA                    NA                      NA
## 2                          NA                    NA                      NA
## 3                          NA                    NA                      NA
## 4                          NA                    NA                      NA
## 5                          NA                    NA                      NA
## 6                          NA                    NA                      NA
##   Unemployment.TX Unemployment.U.S. Single.Family.Building.Permits.TX
## 1              NA                NA                                NA
## 2              NA                NA                                NA
## 3              NA                NA                                NA
## 4              NA                NA                                NA
## 5              NA                NA                                NA
## 6              NA                NA                                NA
##   Multi.Family.Building.Permits.TX Existing.Single.Family.Home.Sales.TX
## 1                               NA                                   NA
## 2                               NA                                   NA
## 3                               NA                                   NA
## 4                               NA                                   NA
## 5                               NA                                   NA
## 6                               NA                                   NA
##   Existing.Single.Family.Home.Price.TX Non.Residential.Building.Construction
## 1                                   NA                                    NA
## 2                                   NA                                    NA
## 3                                   NA                                    NA
## 4                                   NA                                    NA
## 5                                   NA                                    NA
## 6                                   NA                                    NA
##   Total.Sales.Tax.Collections.Retail.TX Total.Sales.Tax.Collections.TX
## 1                                    NA                             NA
## 2                                    NA                             NA
## 3                                    NA                             NA
## 4                                    NA                             NA
## 5                                    NA                             NA
## 6                                    NA                             NA
##   Retail.Gasoline.Price.TX Retail.Diesel.Price.TX Nonfarm.Employment.Illinois
## 1                    1.773                  1.906                      5829.6
## 2                    1.841                  1.958                      5836.2
## 3                    2.008                  2.148                      5833.8
## 4                    2.169                  2.226                      5857.5
## 5                    2.088                  2.150                      5855.4
## 6                    2.101                  2.256                      5841.0
##   Nonfarm.Employment.Florida Nonfarm.Employment.New.York
## 1                     7650.2                      8490.6
## 2                     7670.7                      8487.9
## 3                     7668.7                      8483.6
## 4                     7716.4                      8518.6
## 5                     7753.0                      8509.9
## 6                     7761.6                      8515.9
##   Nonfarm.Employment.Texas Nonfarm.Employment.California
## 1                   9642.4                       14881.8
## 2                   9653.2                       14908.3
## 3                   9670.8                       14929.3
## 4                   9715.1                       14979.4
## 5                   9727.1                       14985.4
## 6                   9734.0                       15000.9
##   Gross.Value.Crude.Oil.Production Gross.Value.Natural.Gas.Production
## 1                               NA                                 NA
## 2                               NA                                 NA
## 3                               NA                                 NA
## 4                               NA                                 NA
## 5                               NA                                 NA
## 6                               NA                                 NA
##   Motor.Fuel.Taxed.Gasoline Motor.Fuel.Taxed.Diesel
## 1                        NA                      NA
## 2                        NA                      NA
## 3                        NA                      NA
## 4                        NA                      NA
## 5                        NA                      NA
## 6                        NA                      NA
# We are interested in the modeling the Existing Single Family Home Price TX 
# (column Q) based on the evolution of the Consumer Price Index TX (column G) 
# and Unemployment TX (column L) from January 2007 (since we have missing data 
# from previous time periods)
cpi = na.omit(kei$Consumer.Price.Index.TX)
unemp = na.omit(kei$Unemployment.TX)
home_price = na.omit(kei$Existing.Single.Family.Home.Price.TX)

# Creating the time series objects 
cpi_ts = ts(data = cpi, start = c(2007,1), frequency = 12)
unemp_ts = ts(data = unemp, start = c(2007,1), frequency = 12)
home_price_ts = ts(data = home_price, start = c(2007,1), frequency = 12)

# Plotting the data
plotts.sample.wge(cpi_ts)

## $xbar
## [1] 221.9154
## 
## $autplt
##  [1] 1.0000000 0.9774340 0.9546264 0.9325625 0.9104328 0.8886728 0.8662614
##  [8] 0.8443237 0.8228802 0.8013154 0.7800437 0.7587417 0.7377793 0.7168038
## [15] 0.6964932 0.6774122 0.6568605 0.6364202 0.6161691 0.5967461 0.5768258
## [22] 0.5563177 0.5371057 0.5180163 0.4990331 0.4817730
## 
## $freq
##   [1] 0.004854369 0.009708738 0.014563107 0.019417476 0.024271845 0.029126214
##   [7] 0.033980583 0.038834951 0.043689320 0.048543689 0.053398058 0.058252427
##  [13] 0.063106796 0.067961165 0.072815534 0.077669903 0.082524272 0.087378641
##  [19] 0.092233010 0.097087379 0.101941748 0.106796117 0.111650485 0.116504854
##  [25] 0.121359223 0.126213592 0.131067961 0.135922330 0.140776699 0.145631068
##  [31] 0.150485437 0.155339806 0.160194175 0.165048544 0.169902913 0.174757282
##  [37] 0.179611650 0.184466019 0.189320388 0.194174757 0.199029126 0.203883495
##  [43] 0.208737864 0.213592233 0.218446602 0.223300971 0.228155340 0.233009709
##  [49] 0.237864078 0.242718447 0.247572816 0.252427184 0.257281553 0.262135922
##  [55] 0.266990291 0.271844660 0.276699029 0.281553398 0.286407767 0.291262136
##  [61] 0.296116505 0.300970874 0.305825243 0.310679612 0.315533981 0.320388350
##  [67] 0.325242718 0.330097087 0.334951456 0.339805825 0.344660194 0.349514563
##  [73] 0.354368932 0.359223301 0.364077670 0.368932039 0.373786408 0.378640777
##  [79] 0.383495146 0.388349515 0.393203883 0.398058252 0.402912621 0.407766990
##  [85] 0.412621359 0.417475728 0.422330097 0.427184466 0.432038835 0.436893204
##  [91] 0.441747573 0.446601942 0.451456311 0.456310680 0.461165049 0.466019417
##  [97] 0.470873786 0.475728155 0.480582524 0.485436893 0.490291262 0.495145631
## [103] 0.500000000
## 
## $dbz
##   [1]  12.4373754  12.0982382  11.5306355  10.7314859   9.6977004   8.4281497
##   [7]   6.9275861   5.2140863   3.3318409   1.3684030  -0.5361571  -2.2195896
##  [13]  -3.5803871  -4.6364180  -5.4751706  -6.1615406  -6.7082975  -7.1136283
##  [19]  -7.4079550  -7.6606980  -7.9493774  -8.3268379  -8.8066913  -9.3646714
##  [25]  -9.9505942 -10.5090534 -11.0027759 -11.4245578 -11.7885883 -12.1101807
##  [31] -12.3919910 -12.6261104 -12.8075811 -12.9465885 -13.0687381 -13.2039483
##  [37] -13.3732299 -13.5815029 -13.8187484 -14.0675330 -14.3126035 -14.5471744
##  [43] -14.7723177 -14.9906609 -15.1996679 -15.3897799 -15.5491546 -15.6720458
##  [49] -15.7648108 -15.8449868 -15.9342233 -16.0499641 -16.2003032 -16.3833824
##  [55] -16.5902074 -16.8086858 -17.0267238 -17.2332483 -17.4177594 -17.5703362
##  [61] -17.6836672 -17.7566059 -17.7966407 -17.8187414 -17.8405480 -17.8764219
##  [67] -17.9333074 -18.0099578 -18.0993422 -18.1927535 -18.2834750 -18.3681850
##  [73] -18.4457221 -18.5145926 -18.5713906 -18.6115738 -18.6323199 -18.6356080
##  [79] -18.6293511 -18.6256864 -18.6373756 -18.6741918 -18.7407295 -18.8360083
##  [85] -18.9543977 -19.0870664 -19.2233257 -19.3517150 -19.4611876 -19.5428684
##  [91] -19.5923315 -19.6114750 -19.6086856 -19.5966819 -19.5887394 -19.5948587
##  [97] -19.6192965 -19.6601102 -19.7105602 -19.7616304 -19.8046326 -19.8329865
## [103] -19.8428476
# We observe a mostly increasing trend with the main frequency close to 0

plotts.sample.wge(unemp_ts)

## $xbar
## [1] 5.473786
## 
## $autplt
##  [1] 1.00000000 0.94149479 0.86200180 0.79510403 0.73694908 0.69067335
##  [7] 0.64843330 0.61247460 0.57586497 0.53658233 0.49565185 0.45405419
## [13] 0.41398618 0.37442689 0.33854102 0.30228087 0.26800601 0.23595627
## [19] 0.20435792 0.17358947 0.14567653 0.11964272 0.09516257 0.07327755
## [25] 0.05573662 0.04009882
## 
## $freq
##   [1] 0.004854369 0.009708738 0.014563107 0.019417476 0.024271845 0.029126214
##   [7] 0.033980583 0.038834951 0.043689320 0.048543689 0.053398058 0.058252427
##  [13] 0.063106796 0.067961165 0.072815534 0.077669903 0.082524272 0.087378641
##  [19] 0.092233010 0.097087379 0.101941748 0.106796117 0.111650485 0.116504854
##  [25] 0.121359223 0.126213592 0.131067961 0.135922330 0.140776699 0.145631068
##  [31] 0.150485437 0.155339806 0.160194175 0.165048544 0.169902913 0.174757282
##  [37] 0.179611650 0.184466019 0.189320388 0.194174757 0.199029126 0.203883495
##  [43] 0.208737864 0.213592233 0.218446602 0.223300971 0.228155340 0.233009709
##  [49] 0.237864078 0.242718447 0.247572816 0.252427184 0.257281553 0.262135922
##  [55] 0.266990291 0.271844660 0.276699029 0.281553398 0.286407767 0.291262136
##  [61] 0.296116505 0.300970874 0.305825243 0.310679612 0.315533981 0.320388350
##  [67] 0.325242718 0.330097087 0.334951456 0.339805825 0.344660194 0.349514563
##  [73] 0.354368932 0.359223301 0.364077670 0.368932039 0.373786408 0.378640777
##  [79] 0.383495146 0.388349515 0.393203883 0.398058252 0.402912621 0.407766990
##  [85] 0.412621359 0.417475728 0.422330097 0.427184466 0.432038835 0.436893204
##  [91] 0.441747573 0.446601942 0.451456311 0.456310680 0.461165049 0.466019417
##  [97] 0.470873786 0.475728155 0.480582524 0.485436893 0.490291262 0.495145631
## [103] 0.500000000
## 
## $dbz
##   [1]  11.2985642  11.0508000  10.6388148  10.0645602   9.3319225   8.4481575
##   [7]   7.4261200   6.2874514   5.0664878   3.8135199   2.5940175   1.4790595
##  [13]   0.5258856  -0.2419540  -0.8392539  -1.3048260  -1.6814364  -2.0036337
##  [19]  -2.2956818  -2.5746074  -2.8534912  -3.1429315  -3.4508505  -3.7817001
##  [25]  -4.1360146  -4.5107387  -4.9002694  -5.2978531  -5.6968885  -6.0917879
##  [31]  -6.4782876  -6.8533416  -7.2148629  -7.5615198  -7.8926330  -8.2080893
##  [37]  -8.5081707  -8.7932937  -9.0637657  -9.3197004  -9.5611680  -9.7885286
##  [43] -10.0028003 -10.2058857 -10.4005517 -10.5901542 -10.7781830 -10.9677367
##  [49] -11.1610353 -11.3590736 -11.5615104 -11.7668783 -11.9731378 -12.1784824
##  [55] -12.3821572 -12.5849576 -12.7891220 -12.9975355 -13.2124363 -13.4340354
##  [61] -13.6595360 -13.8829738 -14.0961044 -14.2902479 -14.4586028 -14.5982265
##  [67] -14.7109000 -14.8025521 -14.8815571 -14.9566286 -15.0350044 -15.1212994
##  [73] -15.2170731 -15.3209851 -15.4293831 -15.5372112 -15.6391448 -15.7308272
##  [79] -15.8100039 -15.8772981 -15.9364157 -15.9937190 -16.0573003 -16.1358198
##  [85] -16.2373768 -16.3685955 -16.5339773 -16.7354763 -16.9722095 -17.2402196
##  [91] -17.5322672 -17.8377282 -18.1428103 -18.4314147 -18.6869624 -18.8952022
##  [97] -19.0474127 -19.1428115 -19.1889539 -19.1997222 -19.1916344 -19.1797983
## [103] -19.1746226
# We observe 2 peaks: one during the financial crisis of 2008 and one during the Covid pandemic

plotts.sample.wge(home_price_ts)

## $xbar
## [1] 210749.8
## 
## $autplt
##  [1] 1.0000000 0.9844948 0.9703709 0.9544225 0.9394209 0.9246178 0.9108404
##  [8] 0.8965941 0.8831047 0.8696089 0.8557298 0.8422147 0.8299077 0.8114620
## [15] 0.7943159 0.7751944 0.7557981 0.7367218 0.7189298 0.7005814 0.6827653
## [22] 0.6638098 0.6441100 0.6247604 0.6080084 0.5865517
## 
## $freq
##   [1] 0.004854369 0.009708738 0.014563107 0.019417476 0.024271845 0.029126214
##   [7] 0.033980583 0.038834951 0.043689320 0.048543689 0.053398058 0.058252427
##  [13] 0.063106796 0.067961165 0.072815534 0.077669903 0.082524272 0.087378641
##  [19] 0.092233010 0.097087379 0.101941748 0.106796117 0.111650485 0.116504854
##  [25] 0.121359223 0.126213592 0.131067961 0.135922330 0.140776699 0.145631068
##  [31] 0.150485437 0.155339806 0.160194175 0.165048544 0.169902913 0.174757282
##  [37] 0.179611650 0.184466019 0.189320388 0.194174757 0.199029126 0.203883495
##  [43] 0.208737864 0.213592233 0.218446602 0.223300971 0.228155340 0.233009709
##  [49] 0.237864078 0.242718447 0.247572816 0.252427184 0.257281553 0.262135922
##  [55] 0.266990291 0.271844660 0.276699029 0.281553398 0.286407767 0.291262136
##  [61] 0.296116505 0.300970874 0.305825243 0.310679612 0.315533981 0.320388350
##  [67] 0.325242718 0.330097087 0.334951456 0.339805825 0.344660194 0.349514563
##  [73] 0.354368932 0.359223301 0.364077670 0.368932039 0.373786408 0.378640777
##  [79] 0.383495146 0.388349515 0.393203883 0.398058252 0.402912621 0.407766990
##  [85] 0.412621359 0.417475728 0.422330097 0.427184466 0.432038835 0.436893204
##  [91] 0.441747573 0.446601942 0.451456311 0.456310680 0.461165049 0.466019417
##  [97] 0.470873786 0.475728155 0.480582524 0.485436893 0.490291262 0.495145631
## [103] 0.500000000
## 
## $dbz
##   [1]  12.6611087  12.3027507  11.7010980  10.8496709   9.7398013   8.3616444
##   [7]   6.7068581   4.7752583   2.5903774   0.2319139  -2.1149331  -4.1495593
##  [13]  -5.6144960  -6.5274352  -7.1077941  -7.5256113  -7.8341812  -8.0485142
##  [19]  -8.2168925  -8.4248863  -8.7580142  -9.2693051  -9.9647411 -10.7976506
##  [25] -11.6696513 -12.4524793 -13.0434056 -13.4216709 -13.6441395 -13.7867526
##  [31] -13.8990270 -14.0010833 -14.1043277 -14.2294120 -14.4081950 -14.6722664
##  [37] -15.0382354 -15.4974329 -16.0133126 -16.5290448 -16.9863708 -17.3482945
##  [43] -17.6090989 -17.7832231 -17.8856003 -17.9227357 -17.9000357 -17.8349163
##  [49] -17.7614864 -17.7224394 -17.7553576 -17.8822505 -18.1056208 -18.4101636
##  [55] -18.7683685 -19.1481073 -19.5191381 -19.8549750 -20.1295062 -20.3133569
##  [61] -20.3777584 -20.3080962 -20.1176701 -19.8481238 -19.5549984 -19.2901475
##  [67] -19.0914739 -18.9812803 -18.9693670 -19.0570287 -19.2397057 -19.5073522
##  [73] -19.8425426 -20.2173445 -20.5913246 -20.9143528 -21.1372267 -21.2279233
##  [79] -21.1838107 -21.0303509 -20.8080393 -20.5582379 -20.3155063 -20.1063228
##  [85] -19.9504709 -19.8621132 -19.8495094 -19.9136706 -20.0467295 -20.2308625
##  [91] -20.4385774 -20.6351126 -20.7833188 -20.8505098 -20.8156513 -20.6746390
##  [97] -20.4418199 -20.1471728 -19.8301362 -19.5322259 -19.2906163 -19.1338484
## [103] -19.0796056
# We observe a mostly increasing trends but with seasonal factors (prices are traditionally higher in summer)

# Creating a data frame:
df = data.frame(cpi, unemp, home_price)

# Looking at the data pairs
ggpairs(df)

# Home prices and inflation (via CPI index) are strongly positively correlated
# Home prices and unemployment are negatively correlated

# Training and test set for short term forecast (6 months)

# Data Frame
short_term = 6
train_index_short = nrow(df) - short_term
df_train_s = head(df, n=train_index_short)
df_test_s = tail(df, n=short_term)

# Time series
cpi_ts_train_s = ts(data = df_train_s$cpi, start = c(2007,1), frequency = 12)
unemp_ts_train_s = ts(data = df_train_s$unemp, start = c(2007,1), frequency = 12)
home_price_ts_train_s = ts(data = df_train_s$home_price, start = c(2007,1), frequency = 12)

cpi_ts_test_s = ts(data = df_test_s$cpi, start = c(2023,9), frequency = 12)
unemp_ts_test_s = ts(data = df_test_s$unemp, start = c(2023,9), frequency = 12)
home_price_ts_test_s = ts(data = df_test_s$home_price, start = c(2023,9), frequency = 12)


# Training and test set for long term forecast (5 years)

# Data Frame
long_term = 60
train_index_long = nrow(df) - long_term
df_train_l = head(df, n=train_index_long)
df_test_l = tail(df, n=long_term)

# Time series
cpi_ts_train_l = ts(data = df_train_l$cpi, start = c(2007,1), frequency = 12)
unemp_ts_train_l = ts(data = df_train_l$unemp, start = c(2007,1), frequency = 12)
home_price_ts_train_l = ts(data = df_train_l$home_price, start = c(2007,1), frequency = 12)

cpi_ts_test_l = ts(data = df_test_l$cpi, start = c(2019,3), frequency = 12)
unemp_ts_test_l = ts(data = df_test_l$unemp, start = c(2019,3), frequency = 12)
home_price_ts_test_l = ts(data = df_test_l$home_price, start = c(2019,3), frequency = 12)


# 4a. Fitting ARMA / ARIMA / ARUMA / Signal Plus Noise (univariate analysis)

# Short-term ARMA for cpi
aic5.wge(df_train_s$cpi, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 1 0 
## Error in aic calculation at 1 1 
## Error in aic calculation at 1 2 
## Error in aic calculation at 1 3 
## Error in aic calculation at 2 0 
## Error in aic calculation at 2 1 
## Error in aic calculation at 2 2 
## Error in aic calculation at 2 3 
## Error in aic calculation at 3 0 
## Error in aic calculation at 3 1 
## Error in aic calculation at 3 2 
## Error in aic calculation at 3 3 
## Error in aic calculation at 4 0 
## Error in aic calculation at 4 1 
## Error in aic calculation at 5 0 
## Error in aic calculation at 5 1 
## Error in aic calculation at 5 2 
## Five Smallest Values of  aic 
##     p    q           aic
##     4    2 -0.0478501905
##     4    3 -0.0001832367
##     5    3  0.7012376981
##     0    2  4.0839852309
##     0    0  6.2610587926
est.cpi = est.arma.wge(df_train_s$cpi, p = 4, q = 2)
##   
##   
## Coefficients of AR polynomial:  
## -0.0562 1.1049 0.4872 -0.5360 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-1.0000B              1.0000               1.0000       0.0000
## 1+1.6425B+0.9142B^2   -0.8983+-0.5356i      0.9561       0.4144
## 1-0.5863B              1.7056               0.5863       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -1.6541 -0.8801 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+1.6541B+0.8801B^2   -0.9398+-0.5031i      0.9381       0.4218
##   
## 
preds = fore.arma.wge(df_train_s$cpi, phi = est.cpi$phi, n.ahead = 6, lastn = TRUE)

ASE = mean((df_test_s$cpi[(length(df_test_s$cpi)-6+1)] - preds$f)^2)
ASE # 90.57898
## [1] 90.57898
RMSE = sqrt(mean((df_test_s$cpi - preds$f[1:6])^2))
RMSE # 10.71134
## [1] 10.71134
# Short-term ARIMA for cpi
cpi.d1 = artrans.wge(df_train_s$cpi, phi.tr = 1)

aic5.wge(cpi.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 4 2 
## Error in aic calculation at 5 2 
## Error in aic calculation at 5 3 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    1 -0.1222308
##     1    1 -0.1212039
##     2    0 -0.1187039
##     1    0 -0.1180841
##     0    3 -0.1169767
est.cpi.d1 = est.arma.wge(cpi.d1, p = 2, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## -0.2615 0.2847 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.6801B             -1.4703               0.6801       0.5000
## 1-0.4186B              2.3888               0.4186       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.8058 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.8058B             -1.2410               0.8058       0.5000
##   
## 
preds = fore.arima.wge(df_train_s$cpi, phi = est.cpi.d1$phi, d = 1, n.ahead = 6, lastn = F)
## y.arma 0.821 1.047 1.387 0.753 0.474 0.179 -0.056 0.435 0.7 0.736 0.484 0.616 0.493 1.286 0.394 2.073 2.611 1.516 -1.342 0.014 -1.698 -3.707 -1.809 0.725 1.11 0.443 0.886 -0.34 1.894 -0.332 0.058 0.404 -0.002 0.049 -0.584 0.579 0.438 0.308 0.593 -0.037 0.174 -0.821 0.333 0.747 0.033 -0.442 -0.176 1.306 1.411 2.344 1.905 0.721 -0.743 0.105 0.766 0.193 -0.893 0.145 -0.634 0.659 1.927 2.022 0.444 -0.638 -0.664 -0.491 0.32 1.25 -0.407 -1.008 -0.634 0.984 2.195 0.778 0.514 -0.1 0.261 0.436 0.438 0.035 -0.795 -0.741 1.216 0.82 0.975 1.494 0.461 0.449 0.511 -0.269 -0.425 0.183 -0.012 -1.4 -1.347 -1.028 0.021 1.453 0.675 0.819 0.57 -0.28 0.216 -0.597 0.077 -0.379 -0.961 0.577 0.698 1.229 0.561 0.837 0.822 -0.143 -0.084 0.367 0.687 -0.14 -0.015 1.01 0.367 0.089 0.638 0.503 0.485 -0.004 0.639 1.969 0.321 0.223 -0.892 0.561 1.487 0.305 0.406 1.891 0.857 -0.411 -0.486 0.563 0.958 -0.627 -0.749 0.304 0.402 1.435 1.215 0.113 -0.193 0.871 -0.144 0.558 0.493 -0.859 -0.685 0.636 0.574 -0.612 -2.429 -0.473 1.9 1.718 -0.494 0.818 0.025 -0.677 0.435 1.862 1.2 2.401 2.273 2.049 1.604 0.454 0.543 0.881 2.095 0.761 0.645 2.69 2.688 4.245 2.289 3.088 4.071 -0.494 0.066 0.979 -0.545 -0.345 -2.213 2.52 2.226 1.524 2.017 0.751 0.816 0.228 1.761
ASE = mean((df_test_s$cpi[(length(df_test_s$cpi)-6+1)] - preds$f)^2)
ASE # 1.446768
## [1] 1.446768
RMSE = sqrt(mean((df_test_s$cpi - preds$f[1:6])^2))
RMSE # 2.734241
## [1] 2.734241
# Short-term ARUMA for cpi
cpi.12 = artrans.wge(cpi.d1, phi.tr = c(rep(0,11),1))

aic5.wge(cpi.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    1  0.2091513
##     0    1  0.2430321
##     3    3  0.2450742
##     4    1  0.2455573
##     1    1  0.2522979
est.cpi12 = est.arma.wge(cpi.12, p = 2, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## -0.4847 0.3012 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.8423B             -1.1872               0.8423       0.5000
## 1-0.3576B              2.7965               0.3576       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.9909 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9909B             -1.0092               0.9909       0.5000
##   
## 
preds = fore.aruma.wge(df_train_s$cpi, phi = est.cpi12$phi, s = 12, d = 1, n.ahead = 6, lastn = F)
## s= 12 
## ptot.res= 13 
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1 
## ptot.fore= 15 
## phitot.fore 0.51525 0.7859558 -0.3012058 0 0 0 0 0 0 0 0 1 -0.51525 -0.7859558 0.3012058

ASE = mean((df_test_s$cpi[(length(df_test_s$cpi)-6+1)] - preds$f)^2)
ASE # 2.798647
## [1] 2.798647
RMSE = sqrt(mean((df_test_s$cpi - preds$f[1:6])^2))
RMSE # 2.396974
## [1] 2.396974
# Short-term Signal-Plus Noise for cpi
wbg.boot.wge(df_train_s$cpi) # p-value 0.05263 <- FTR
## $p
## [1] 2
## 
## $phi
## [1]  1.5650148 -0.5671139
## 
## $pv
## [1] 0.04761905
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.


# Short-term ARMA for unemp
aic5.wge(df_train_s$unemp, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     1    1  -1.130996
##     2    1  -1.125706
##     1    2  -1.125015
##     3    0  -1.123085
##     2    0  -1.119800
est.unemp = est.arma.wge(df_train_s$unemp, p = 1, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## 0.9108 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.9108B              1.0979               0.9108       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.2826 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.2826B             -3.5382               0.2826       0.5000
##   
## 
preds = fore.arma.wge(df_train_s$unemp, phi = est.unemp$phi, n.ahead = 6, lastn = TRUE)

ASE = mean((df_test_s$unemp[(length(df_test_s$unemp)-6+1)] - preds$f)^2)
ASE # 0.306961
## [1] 0.306961
RMSE = sqrt(mean((df_test_s$unemp - preds$f[1:6])^2))
RMSE # 0.5540406
## [1] 0.5540406
# Short-term ARIMA for unemp
unemp.d1 = artrans.wge(df_train_s$unemp, phi.tr = 1)

aic5.wge(unemp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     3    1  -1.111737
##     2    2  -1.108466
##     1    2  -1.099214
##     1    3  -1.098885
##     0    2  -1.096332
est.unemp.d1 = est.arma.wge(unemp.d1, p = 3, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## 1.1750 -0.3518 0.1134 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.9275B              1.0782               0.9275       0.0000
## 1-0.2475B+0.1223B^2    1.0121+-2.6750i      0.3496       0.1924
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## 1.0000 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1-1.0000B              1.0000               1.0000       0.0000
##   
## 
preds = fore.arima.wge(df_train_s$unemp, phi = est.unemp.d1$phi, d = 1, n.ahead = 6, lastn = F)
## y.arma -0.1 0 -0.1 0 0 0 0 0.1 0 0 0 -0.1 0 0 0.1 0.1 0.2 0.1 0.2 0.2 0.2 0.2 0.3 0.2 0.2 0.1 0.1 1 0.5 0.2 0.1 0 0 0 0 0 0 0 -0.1 0 -0.1 0 0 0 0.1 0 0 0 0 -0.1 0 0.1 0.1 0 -0.1 -0.2 -0.2 -0.3 -0.2 -0.2 -0.1 -0.3 0.1 0 0 -0.1 -0.1 -0.1 0 0 0 0 0.1 -0.1 0 -0.1 0 -0.1 0 -0.1 -0.1 -0.1 -0.2 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 -0.1 -0.1 -0.1 -0.2 0 -0.1 0 0 -0.1 0 0 0.1 0 0 0 0 0 -0.1 0.1 0 0.1 0.1 0 0 0.1 0 0 0 0 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 0 0 0 0 -0.1 0 0 -0.1 0 0 -0.1 0 0 0 0 -0.1 -0.1 -0.1 0 -0.1 0 0.1 0 0.1 -0.1 0 0 -0.1 0.1 1.6 7.5 -0.8 -1.7 -0.8 -1.2 -0.4 -0.6 -0.2 0 -0.2 -0.1 -0.2 -0.2 -0.3 0 -0.3 -0.3 -0.2 -0.2 -0.3 -0.1 -0.2 -0.2 -0.2 -0.1 0 0 0 0 0.1 0.1 0 0.1 0 -0.1 0 0 0 -0.1 0 0
ASE = mean((df_test_s$unemp[(length(df_test_s$unemp)-6+1)] - preds$f)^2)
ASE # 0.001935331
## [1] 0.001935331
RMSE = sqrt(mean((df_test_s$unemp - preds$f[1:6])^2))
RMSE # 0.0439924
## [1] 0.0439924
# Short-term ARUMA for unemp
unemp.12 = artrans.wge(unemp.d1, phi.tr = c(rep(0,11),1))

aic5.wge(unemp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    3 -0.4406575
##     1    2 -0.3977891
##     3    2 -0.3927050
##     2    2 -0.3886289
##     4    2 -0.3747561
est.unemp.12 = est.arma.wge(unemp.12, p = 2, q = 3)
##   
##   
## Coefficients of AR polynomial:  
## -0.0313 0.7452 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.8791B             -1.1375               0.8791       0.5000
## 1-0.8477B              1.1796               0.8477       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.2584 1.0000 0.2584 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+1.0000B             -1.0000               1.0000       0.5000
## 1-1.0000B              1.0000               1.0000       0.0000
## 1+0.2584B             -3.8698               0.2584       0.5000
##   
## 
preds = fore.aruma.wge(df_train_s$unemp, phi = est.unemp.12$phi, s = 12, d = 1, n.ahead = 6, lastn = F)
## s= 12 
## ptot.res= 13 
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1 
## ptot.fore= 15 
## phitot.fore 0.9686578 0.7765791 -0.7452369 0 0 0 0 0 0 0 0 1 -0.9686578 -0.7765791 0.7452369

ASE = mean((df_test_s$unemp[(length(df_test_s$unemp)-6+1)] - preds$f)^2)
ASE # 0.05166667
## [1] 0.05166667
RMSE = sqrt(mean((df_test_s$unemp - preds$f[1:6])^2))
RMSE # 0.227303
## [1] 0.227303
# Short-term Signal-Plus Noise for unemp
wbg.boot.wge(df_train_s$unemp) # p-value 0.1954887 <- FTR
## $p
## [1] 3
## 
## $phi
## [1]  1.1776388 -0.3545120  0.1148685
## 
## $pv
## [1] 0.2556391
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.


# Short-term ARMA for home_price
aic5.wge(df_train_s$home_price, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 1 0 
## Error in aic calculation at 1 1 
## Error in aic calculation at 1 2 
## Error in aic calculation at 1 3 
## Error in aic calculation at 2 0 
## Error in aic calculation at 2 1 
## Error in aic calculation at 2 2 
## Error in aic calculation at 3 0 
## Error in aic calculation at 3 1 
## Error in aic calculation at 3 2 
## Error in aic calculation at 4 0 
## Error in aic calculation at 4 1 
## Error in aic calculation at 4 2 
## Error in aic calculation at 4 3 
## Error in aic calculation at 5 0 
## Error in aic calculation at 5 1 
## Error in aic calculation at 5 2 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    3   17.80165
##     3    3   18.17814
##     5    3   19.29838
##     0    3   19.40421
##     0    2   19.85467
est.hp = est.arma.wge(df_train_s$home_price, p = 2, q = 3)
##   
##   
## Coefficients of AR polynomial:  
## -0.0021 0.9973 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9997B             -1.0003               0.9997       0.5000
## 1-0.9976B              1.0024               0.9976       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -1.2259 -0.0609 0.1712 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9895B             -1.0106               0.9895       0.5000
## 1+0.5506B             -1.8161               0.5506       0.5000
## 1-0.3143B              3.1822               0.3143       0.0000
##   
## 
preds = fore.arma.wge(df_train_s$home_price, phi = est.hp$phi, n.ahead = 6, lastn = TRUE)

ASE_ARMA_S = mean((df_test_s$home_price[(length(df_test_s$home_price)-6+1)] - preds$f)^2)
ASE_ARMA_S # 302887206
## [1] 302887206
RW_RMSE_ARMA_S = roll.win.rmse.wge(df_train_s$home_price, horizon = 6, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 192 windows."

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    3413    6329    8858   10761   13536   34518 
## [1] "The Rolling Window RMSE is:  10761.056"
RW_RMSE_ARMA_S # 10761.056
## $rwRMSE
## [1] 10761.06
## 
## $trainingSize
## [1] 3
## 
## $numwindows
## [1] 192
## 
## $horizon
## [1] 6
## 
## $s
## [1] 0
## 
## $d
## [1] 0
## 
## $phi
## [1] -0.002148641  0.997349901
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  7958.733  5379.476  5013.887  6426.267  9000.361  9185.940  7116.683
##   [8]  4039.473  3759.187  4661.234  8297.048  9569.450  6502.335  4956.014
##  [15]  7479.780 10160.556 13908.407 14026.219 10661.010  7126.550  5446.986
##  [22]  7480.252 12285.925 13544.943 10600.149  8848.081  6494.809  8039.497
##  [29] 11207.035 10200.290  7653.844  5572.630  3412.783  4402.724  8866.949
##  [36] 10470.281  7722.712  5411.109  4319.528  4360.301  8649.873  9288.047
##  [43]  6017.544  4329.460  4225.697  4584.108  7516.572  7681.131  5404.589
##  [50]  5489.464  4319.358  4132.178  7226.668  7477.063  6040.757  6279.476
##  [57]  8292.035  9386.407 15438.539 17486.352 11315.770  6244.906  4353.516
##  [64]  4783.418  7768.570  7073.507  5400.333  7684.361 10218.454 11681.938
##  [71] 18900.262 21882.679 16242.131  9380.082  5356.192  5991.775  9010.504
##  [78]  7894.495  4559.051  5481.627  8053.057  9669.276 15706.113 17047.884
##  [85] 11348.859  8361.718  5868.104  4845.051  7423.623  6843.854  4731.835
##  [92]  7901.102 11112.950 11040.765 16301.443 18374.257 13249.782  9250.397
##  [99]  7636.570  8739.314 10046.205  8338.500  5710.074  8095.845 12274.926
## [106] 13253.167 18153.263 21046.729 16219.289 11116.594  7425.006  5096.619
## [113]  7362.934  6120.351  5278.583  7972.971  9986.795 10084.278 16877.295
## [120] 18003.470 10810.230  7162.751  5540.711  6345.190  6975.784  5643.327
## [127]  4917.996  7382.385 10530.289 10145.421 15333.908 16611.876 10290.258
## [134]  7470.597  7364.271  7863.419 10530.405  9551.918  5241.752  6230.458
## [141]  9432.100 10693.833 17299.346 19362.125 13532.472  9006.093  5742.176
## [148]  5141.453  7558.859  6847.197  5271.338  7041.036  8015.539  7968.413
## [155] 18309.089 20897.260 15670.965 15486.129 17697.198 15151.313  6970.316
## [162]  5984.146  9518.108 12442.378 17150.977 23681.677 32862.115 34517.866
## [169] 27664.676 22407.051 16710.597  9963.152  6048.973  8924.636 14844.772
## [176] 22334.687 27976.662 29357.780 33546.151 33068.609 23605.276 14605.822
## [183] 15785.751 21211.031 21509.721 17099.078 13272.116 10599.055  9082.374
## [190] 11717.878 18556.765 21008.487
# Short-term ARIMA for home_price
hp.d1 = artrans.wge(df_train_s$home_price, phi.tr = 1)

aic5.wge(hp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 4 2 
## Error in aic calculation at 4 3 
## Five Smallest Values of  aic 
##     p    q        aic
##     5    3   17.06016
##     3    2   17.26038
##     2    2   17.27046
##     5    1   17.27501
##     5    0   17.28010
est.hp.d1 = est.arma.wge(hp.d1, p = 5, q = 3)
##   
##   
## Coefficients of AR polynomial:  
## -0.3822 0.0637 0.5397 -0.0567 -0.3593 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9996B+0.9179B^2   -0.5445+-0.8905i      0.9581       0.3373
## 1-1.3180B+0.5588B^2    1.1793+-0.6315i      0.7475       0.0782
## 1+0.7005B             -1.4275               0.7005       0.5000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.5308 -0.0902 0.7246 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+1.2555B+1.0000B^2   -0.6278+-0.7784i      1.0000       0.3580
## 1-0.7247B              1.3800               0.7247       0.0000
##   
## 
preds_ARIMA_S = fore.arima.wge(df_train_s$home_price, phi = est.hp.d1$phi, d = 1, n.ahead = 6, lastn = F)
## y.arma 2544 3815 1663 2739 5673 -2739 489 -5673 -3228 1271 2641 -8510 3717 4206 0 3718 4010 -1760 -1370 -6456 -2543 -4989 3326 -8609 6261 1369 3228 6261 5674 -1761 -3228 -2348 -4695 -392 1957 -7337 4109 2836 2642 1369 4109 2054 -1272 -6163 -2054 1565 4402 -11485 6900 -1900 2000 4500 2500 -1000 0 -3500 -2500 0 5000 -12000 7000 7990 2010 5000 4000 -1900 -2200 -1900 -3000 3000 3000 -12500 6500 7901 7099 5305 4160 -1465 -3000 -4100 -1000 0 4100 -10163 8663 4400 2100 6000 5000 -738 -2262 -4000 -3000 3000 6870 -12020 7150 4850 4150 8500 3500 -4000 -2000 -5000 -4000 1400 7600 -10799 5699 6925 3979 9196 5000 -4000 -1000 -5000 0 4500 2500 -13702 11602 3600 4500 6000 2500 -4500 0 -4000 -3250 2150 6700 -11600 8000 5000 1000 9000 1380 -1880 -3500 -6000 -100 100 5000 -13500 8500 5000 5000 7000 2990 -2990 -2000 -3000 -960 -1040 9000 -16000 11000 4900 1000 -900 11000 9000 -3854 -146 4000 900 100 -8000 13000 7888 7612 9750 9750 0 0 -2000 2000 5000 6000 -7504 11504 10000 14750 10250 0 -10000 -6128 -3502 -5370 -5000 1000 -12000 6000 5043 6957 8000 3000 -3000 -5000
ASE_ARIMA_S = mean((df_test_s$home_price[(length(df_test_s$home_price)-6+1)] - preds_ARIMA_S$f)^2)
ASE_ARIMA_S # 12498440
## [1] 12498440
RW_RMSE_ARIMA_S = roll.win.rmse.wge(df_train_s$home_price, horizon = 6, d=1, phi = est.hp.d1$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 187 windows."
## y.arma 2544 3815 1663 2739 5673 -2739 489
## y.arma 3815 1663 2739 5673 -2739 489 -5673
## y.arma 1663 2739 5673 -2739 489 -5673 -3228

## y.arma 2739 5673 -2739 489 -5673 -3228 1271
## y.arma 5673 -2739 489 -5673 -3228 1271 2641
## y.arma -2739 489 -5673 -3228 1271 2641 -8510
## y.arma 489 -5673 -3228 1271 2641 -8510 3717

## y.arma -5673 -3228 1271 2641 -8510 3717 4206
## y.arma -3228 1271 2641 -8510 3717 4206 0
## y.arma 1271 2641 -8510 3717 4206 0 3718
## y.arma 2641 -8510 3717 4206 0 3718 4010

## y.arma -8510 3717 4206 0 3718 4010 -1760
## y.arma 3717 4206 0 3718 4010 -1760 -1370
## y.arma 4206 0 3718 4010 -1760 -1370 -6456
## y.arma 0 3718 4010 -1760 -1370 -6456 -2543

## y.arma 3718 4010 -1760 -1370 -6456 -2543 -4989
## y.arma 4010 -1760 -1370 -6456 -2543 -4989 3326
## y.arma -1760 -1370 -6456 -2543 -4989 3326 -8609
## y.arma -1370 -6456 -2543 -4989 3326 -8609 6261

## y.arma -6456 -2543 -4989 3326 -8609 6261 1369
## y.arma -2543 -4989 3326 -8609 6261 1369 3228
## y.arma -4989 3326 -8609 6261 1369 3228 6261
## y.arma 3326 -8609 6261 1369 3228 6261 5674

## y.arma -8609 6261 1369 3228 6261 5674 -1761
## y.arma 6261 1369 3228 6261 5674 -1761 -3228
## y.arma 1369 3228 6261 5674 -1761 -3228 -2348
## y.arma 3228 6261 5674 -1761 -3228 -2348 -4695

## y.arma 6261 5674 -1761 -3228 -2348 -4695 -392
## y.arma 5674 -1761 -3228 -2348 -4695 -392 1957
## y.arma -1761 -3228 -2348 -4695 -392 1957 -7337
## y.arma -3228 -2348 -4695 -392 1957 -7337 4109

## y.arma -2348 -4695 -392 1957 -7337 4109 2836
## y.arma -4695 -392 1957 -7337 4109 2836 2642
## y.arma -392 1957 -7337 4109 2836 2642 1369
## y.arma 1957 -7337 4109 2836 2642 1369 4109

## y.arma -7337 4109 2836 2642 1369 4109 2054
## y.arma 4109 2836 2642 1369 4109 2054 -1272
## y.arma 2836 2642 1369 4109 2054 -1272 -6163
## y.arma 2642 1369 4109 2054 -1272 -6163 -2054

## y.arma 1369 4109 2054 -1272 -6163 -2054 1565
## y.arma 4109 2054 -1272 -6163 -2054 1565 4402
## y.arma 2054 -1272 -6163 -2054 1565 4402 -11485
## y.arma -1272 -6163 -2054 1565 4402 -11485 6900

## y.arma -6163 -2054 1565 4402 -11485 6900 -1900
## y.arma -2054 1565 4402 -11485 6900 -1900 2000
## y.arma 1565 4402 -11485 6900 -1900 2000 4500
## y.arma 4402 -11485 6900 -1900 2000 4500 2500

## y.arma -11485 6900 -1900 2000 4500 2500 -1000
## y.arma 6900 -1900 2000 4500 2500 -1000 0
## y.arma -1900 2000 4500 2500 -1000 0 -3500
## y.arma 2000 4500 2500 -1000 0 -3500 -2500

## y.arma 4500 2500 -1000 0 -3500 -2500 0
## y.arma 2500 -1000 0 -3500 -2500 0 5000
## y.arma -1000 0 -3500 -2500 0 5000 -12000
## y.arma 0 -3500 -2500 0 5000 -12000 7000

## y.arma -3500 -2500 0 5000 -12000 7000 7990
## y.arma -2500 0 5000 -12000 7000 7990 2010
## y.arma 0 5000 -12000 7000 7990 2010 5000
## y.arma 5000 -12000 7000 7990 2010 5000 4000

## y.arma -12000 7000 7990 2010 5000 4000 -1900
## y.arma 7000 7990 2010 5000 4000 -1900 -2200
## y.arma 7990 2010 5000 4000 -1900 -2200 -1900
## y.arma 2010 5000 4000 -1900 -2200 -1900 -3000

## y.arma 5000 4000 -1900 -2200 -1900 -3000 3000
## y.arma 4000 -1900 -2200 -1900 -3000 3000 3000
## y.arma -1900 -2200 -1900 -3000 3000 3000 -12500
## y.arma -2200 -1900 -3000 3000 3000 -12500 6500

## y.arma -1900 -3000 3000 3000 -12500 6500 7901
## y.arma -3000 3000 3000 -12500 6500 7901 7099
## y.arma 3000 3000 -12500 6500 7901 7099 5305
## y.arma 3000 -12500 6500 7901 7099 5305 4160

## y.arma -12500 6500 7901 7099 5305 4160 -1465
## y.arma 6500 7901 7099 5305 4160 -1465 -3000
## y.arma 7901 7099 5305 4160 -1465 -3000 -4100
## y.arma 7099 5305 4160 -1465 -3000 -4100 -1000

## y.arma 5305 4160 -1465 -3000 -4100 -1000 0
## y.arma 4160 -1465 -3000 -4100 -1000 0 4100
## y.arma -1465 -3000 -4100 -1000 0 4100 -10163
## y.arma -3000 -4100 -1000 0 4100 -10163 8663

## y.arma -4100 -1000 0 4100 -10163 8663 4400
## y.arma -1000 0 4100 -10163 8663 4400 2100
## y.arma 0 4100 -10163 8663 4400 2100 6000
## y.arma 4100 -10163 8663 4400 2100 6000 5000

## y.arma -10163 8663 4400 2100 6000 5000 -738
## y.arma 8663 4400 2100 6000 5000 -738 -2262
## y.arma 4400 2100 6000 5000 -738 -2262 -4000
## y.arma 2100 6000 5000 -738 -2262 -4000 -3000

## y.arma 6000 5000 -738 -2262 -4000 -3000 3000
## y.arma 5000 -738 -2262 -4000 -3000 3000 6870
## y.arma -738 -2262 -4000 -3000 3000 6870 -12020
## y.arma -2262 -4000 -3000 3000 6870 -12020 7150

## y.arma -4000 -3000 3000 6870 -12020 7150 4850
## y.arma -3000 3000 6870 -12020 7150 4850 4150
## y.arma 3000 6870 -12020 7150 4850 4150 8500
## y.arma 6870 -12020 7150 4850 4150 8500 3500

## y.arma -12020 7150 4850 4150 8500 3500 -4000
## y.arma 7150 4850 4150 8500 3500 -4000 -2000
## y.arma 4850 4150 8500 3500 -4000 -2000 -5000
## y.arma 4150 8500 3500 -4000 -2000 -5000 -4000

## y.arma 8500 3500 -4000 -2000 -5000 -4000 1400
## y.arma 3500 -4000 -2000 -5000 -4000 1400 7600
## y.arma -4000 -2000 -5000 -4000 1400 7600 -10799
## y.arma -2000 -5000 -4000 1400 7600 -10799 5699

## y.arma -5000 -4000 1400 7600 -10799 5699 6925
## y.arma -4000 1400 7600 -10799 5699 6925 3979
## y.arma 1400 7600 -10799 5699 6925 3979 9196
## y.arma 7600 -10799 5699 6925 3979 9196 5000

## y.arma -10799 5699 6925 3979 9196 5000 -4000
## y.arma 5699 6925 3979 9196 5000 -4000 -1000
## y.arma 6925 3979 9196 5000 -4000 -1000 -5000
## y.arma 3979 9196 5000 -4000 -1000 -5000 0

## y.arma 9196 5000 -4000 -1000 -5000 0 4500
## y.arma 5000 -4000 -1000 -5000 0 4500 2500
## y.arma -4000 -1000 -5000 0 4500 2500 -13702
## y.arma -1000 -5000 0 4500 2500 -13702 11602

## y.arma -5000 0 4500 2500 -13702 11602 3600
## y.arma 0 4500 2500 -13702 11602 3600 4500
## y.arma 4500 2500 -13702 11602 3600 4500 6000
## y.arma 2500 -13702 11602 3600 4500 6000 2500

## y.arma -13702 11602 3600 4500 6000 2500 -4500
## y.arma 11602 3600 4500 6000 2500 -4500 0
## y.arma 3600 4500 6000 2500 -4500 0 -4000
## y.arma 4500 6000 2500 -4500 0 -4000 -3250

## y.arma 6000 2500 -4500 0 -4000 -3250 2150
## y.arma 2500 -4500 0 -4000 -3250 2150 6700
## y.arma -4500 0 -4000 -3250 2150 6700 -11600
## y.arma 0 -4000 -3250 2150 6700 -11600 8000

## y.arma -4000 -3250 2150 6700 -11600 8000 5000
## y.arma -3250 2150 6700 -11600 8000 5000 1000
## y.arma 2150 6700 -11600 8000 5000 1000 9000
## y.arma 6700 -11600 8000 5000 1000 9000 1380

## y.arma -11600 8000 5000 1000 9000 1380 -1880
## y.arma 8000 5000 1000 9000 1380 -1880 -3500
## y.arma 5000 1000 9000 1380 -1880 -3500 -6000
## y.arma 1000 9000 1380 -1880 -3500 -6000 -100

## y.arma 9000 1380 -1880 -3500 -6000 -100 100
## y.arma 1380 -1880 -3500 -6000 -100 100 5000
## y.arma -1880 -3500 -6000 -100 100 5000 -13500
## y.arma -3500 -6000 -100 100 5000 -13500 8500

## y.arma -6000 -100 100 5000 -13500 8500 5000
## y.arma -100 100 5000 -13500 8500 5000 5000
## y.arma 100 5000 -13500 8500 5000 5000 7000
## y.arma 5000 -13500 8500 5000 5000 7000 2990

## y.arma -13500 8500 5000 5000 7000 2990 -2990
## y.arma 8500 5000 5000 7000 2990 -2990 -2000
## y.arma 5000 5000 7000 2990 -2990 -2000 -3000
## y.arma 5000 7000 2990 -2990 -2000 -3000 -960

## y.arma 7000 2990 -2990 -2000 -3000 -960 -1040
## y.arma 2990 -2990 -2000 -3000 -960 -1040 9000
## y.arma -2990 -2000 -3000 -960 -1040 9000 -16000
## y.arma -2000 -3000 -960 -1040 9000 -16000 11000

## y.arma -3000 -960 -1040 9000 -16000 11000 4900
## y.arma -960 -1040 9000 -16000 11000 4900 1000
## y.arma -1040 9000 -16000 11000 4900 1000 -900
## y.arma 9000 -16000 11000 4900 1000 -900 11000

## y.arma -16000 11000 4900 1000 -900 11000 9000
## y.arma 11000 4900 1000 -900 11000 9000 -3854
## y.arma 4900 1000 -900 11000 9000 -3854 -146
## y.arma 1000 -900 11000 9000 -3854 -146 4000

## y.arma -900 11000 9000 -3854 -146 4000 900
## y.arma 11000 9000 -3854 -146 4000 900 100
## y.arma 9000 -3854 -146 4000 900 100 -8000
## y.arma -3854 -146 4000 900 100 -8000 13000

## y.arma -146 4000 900 100 -8000 13000 7888
## y.arma 4000 900 100 -8000 13000 7888 7612
## y.arma 900 100 -8000 13000 7888 7612 9750
## y.arma 100 -8000 13000 7888 7612 9750 9750

## y.arma -8000 13000 7888 7612 9750 9750 0
## y.arma 13000 7888 7612 9750 9750 0 0
## y.arma 7888 7612 9750 9750 0 0 -2000
## y.arma 7612 9750 9750 0 0 -2000 2000

## y.arma 9750 9750 0 0 -2000 2000 5000
## y.arma 9750 0 0 -2000 2000 5000 6000
## y.arma 0 0 -2000 2000 5000 6000 -7504
## y.arma 0 -2000 2000 5000 6000 -7504 11504

## y.arma -2000 2000 5000 6000 -7504 11504 10000
## y.arma 2000 5000 6000 -7504 11504 10000 14750
## y.arma 5000 6000 -7504 11504 10000 14750 10250
## y.arma 6000 -7504 11504 10000 14750 10250 0

## y.arma -7504 11504 10000 14750 10250 0 -10000
## y.arma 11504 10000 14750 10250 0 -10000 -6128
## y.arma 10000 14750 10250 0 -10000 -6128 -3502
## y.arma 14750 10250 0 -10000 -6128 -3502 -5370

## y.arma 10250 0 -10000 -6128 -3502 -5370 -5000
## y.arma 0 -10000 -6128 -3502 -5370 -5000 1000
## y.arma -10000 -6128 -3502 -5370 -5000 1000 -12000
## y.arma -6128 -3502 -5370 -5000 1000 -12000 6000

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2288    5481    7842    9854   11843   36210 
## [1] "The Rolling Window RMSE is:  9854.404"
RW_RMSE_ARIMA_S # 9854.404
## $rwRMSE
## [1] 9854.404
## 
## $trainingSize
## [1] 8
## 
## $numwindows
## [1] 187
## 
## $horizon
## [1] 6
## 
## $s
## [1] 0
## 
## $d
## [1] 1
## 
## $phi
## [1] -0.38215860  0.06373302  0.53965065 -0.05670907 -0.35932674
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  7612.254  3174.559  4298.868  3967.573  4193.058  7337.535  9932.462
##   [8]  7007.905  4489.023  7912.600  9566.721 13081.893 11730.093  4873.169
##  [15]  3428.500  5932.679  6430.509 12469.420 10895.461 10121.879  4890.488
##  [22]  5159.885  8745.343 10981.799  5511.794  2288.278  3197.311  3212.658
##  [29]  3694.816  8873.001  9715.216  8116.613  3275.158  3477.458  3678.126
##  [36]  8298.725  8369.035  4614.974  5836.227  4510.303  6935.945  6469.418
##  [43]  7620.954  9042.344  2599.668  3714.834  4638.441  7469.046  5105.494
##  [50]  4903.351  6877.592  9126.486  7775.947 16072.359 16700.594 10395.480
##  [57]  3035.747  4636.580  2710.482  5543.111  4032.680  5154.591  8463.254
##  [64]  9385.091 10450.884 20453.734 22865.716 16036.227  4160.126  7351.592
##  [71]  5196.587  5696.572  3650.409  6019.129  7125.709  7806.911  7674.315
##  [78] 16424.434 15291.614 10759.906  3452.566  3298.731  4314.071  7349.846
##  [85]  4573.345  7427.201 10632.398 10414.341  8294.976 15628.605 17749.911
##  [92] 14902.918  5179.017  9285.925  9370.956  8225.013  3660.533  6674.905
##  [99]  9392.654 11613.538  9537.176 16557.560 19713.440 16547.659  5897.225
## [106]  5489.062  6250.329  5846.114  4740.811  9625.044  9176.588  7842.028
## [113]  8507.620 18175.973 17552.212 11245.920  5003.837  6854.186  5473.245
## [120]  4881.444  3224.738  5958.198  7600.705  9398.594  6903.375 13882.113
## [127] 14405.171 11076.840  4898.445  8756.927  7611.317 10307.008  5115.195
## [134]  6550.382  7109.558  8628.568  8627.713 17773.542 18324.415 13320.735
## [141]  3405.693  7075.880  5737.784  6295.850  4509.471  7140.825  7216.788
## [148]  7521.086  6589.255 18768.184 18458.116 16306.904 10140.143 15621.961
## [155] 14576.968  5027.091  6803.032 12458.166 16784.714 16870.608 21859.073
## [162] 36209.913 32044.747 21637.337 10987.475  9402.440  7924.627  6766.473
## [169] 11955.667 20213.011 23852.732 24970.416 24484.593 32982.974 30175.064
## [176] 19877.808 11710.948 22743.220 21280.072 12921.248  6197.197  7082.039
## [183]  9164.375  7793.912  9513.677 18410.011 17194.795
# Short-term ARUMA for home_price
hp.12 = artrans.wge(hp.d1, phi.tr = c(rep(0,11),1))

aic5.wge(hp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    2   16.26728
##     4    3   16.27608
##     4    2   16.27779
##     5    2   16.27918
##     3    3   16.28210
est.hp.12 = est.arma.wge(hp.12, p = 2, q = 2)
##   
##   
## Coefficients of AR polynomial:  
## -0.7398 -0.8429 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.7398B+0.8429B^2   -0.4389+-0.9969i      0.9181       0.3160
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.9492 -0.9455 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9492B+0.9455B^2   -0.5020+-0.8976i      0.9724       0.3312
##   
## 
preds = fore.aruma.wge(df_train_s$home_price, phi = est.hp.12$phi, s = 12, d = 1, n.ahead = 6, lastn = F)
## s= 12 
## ptot.res= 13 
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1 
## ptot.fore= 15 
## phitot.fore 0.26017 -0.1030587 0.8428887 0 0 0 0 0 0 0 0 1 -0.26017 0.1030587 -0.8428887

ASE_ARUMA_S = mean((df_test_s$home_price[(length(df_test_s$home_price)-6+1)] - preds$f)^2)
ASE_ARUMA_S # 261542338
## [1] 261542338
RW_RMSE_ARUMA_S = roll.win.rmse.wge(df_train_s$home_price, horizon = 6, s=12, d=1, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 178 windows."
## y.arma 1173 391 -1663 979

## y.arma 391 -1663 979 -1663

## y.arma -1663 979 -1663 979

## y.arma 979 -1663 979 -1859

## y.arma -1663 979 -1859 -783

## y.arma 979 -1859 -783 685

## y.arma -1859 -783 685 -6260

## y.arma -783 685 -6260 685

## y.arma 685 -6260 685 -99

## y.arma -6260 685 -99 2544

## y.arma 685 -99 2544 -2837

## y.arma -99 2544 -2837 3228

## y.arma 2544 -2837 3228 2543

## y.arma -2837 3228 2543 1664

## y.arma 3228 2543 1664 -1

## y.arma 2543 1664 -1 -1858

## y.arma 1664 -1 -1858 4108

## y.arma -1 -1858 4108 -2152

## y.arma -1858 4108 -2152 4597

## y.arma 4108 -2152 4597 -1369

## y.arma -2152 4597 -1369 1272

## y.arma 4597 -1369 1272 -2152

## y.arma -1369 1272 -2152 1467

## y.arma 1272 -2152 1467 -586

## y.arma -2152 1467 -586 -4892

## y.arma 1467 -586 -4892 -1565

## y.arma -586 -4892 -1565 3815

## y.arma -4892 -1565 3815 1956

## y.arma -1565 3815 1956 -3815

## y.arma 3815 1956 -3815 2641

## y.arma 1956 -3815 2641 1957

## y.arma -3815 2641 1957 2445

## y.arma 2641 1957 2445 -4148

## y.arma 1957 2445 -4148 2791

## y.arma 2445 -4148 2791 -4736

## y.arma -4148 2791 -4736 -642

## y.arma 2791 -4736 -642 3131

## y.arma -4736 -642 3131 -1609

## y.arma -642 3131 -1609 -3054

## y.arma 3131 -1609 -3054 1272

## y.arma -1609 -3054 1272 2663

## y.arma -3054 1272 2663 -446

## y.arma 1272 2663 -446 -1565

## y.arma 2663 -446 -1565 598

## y.arma -446 -1565 598 -515

## y.arma -1565 598 -515 100

## y.arma 598 -515 100 9890

## y.arma -515 100 9890 10

## y.arma 100 9890 10 500

## y.arma 9890 10 500 1500

## y.arma 10 500 1500 -900

## y.arma 500 1500 -900 -2200

## y.arma 1500 -900 -2200 1600

## y.arma -900 -2200 1600 -500

## y.arma -2200 1600 -500 3000

## y.arma 1600 -500 3000 -2000

## y.arma -500 3000 -2000 -500

## y.arma 3000 -2000 -500 -500

## y.arma -2000 -500 -500 -89

## y.arma -500 -500 -89 5089

## y.arma -500 -89 5089 305

## y.arma -89 5089 305 160

## y.arma 5089 305 160 435

## y.arma 305 160 435 -800

## y.arma 160 435 -800 -2200

## y.arma 435 -800 -2200 2000

## y.arma -800 -2200 2000 -3000

## y.arma -2200 2000 -3000 1100

## y.arma 2000 -3000 1100 2337

## y.arma -3000 1100 2337 2163

## y.arma 1100 2337 2163 -3501

## y.arma 2337 2163 -3501 -4999

## y.arma 2163 -3501 -4999 695

## y.arma -3501 -4999 695 840

## y.arma -4999 695 840 727

## y.arma 695 840 727 738

## y.arma 840 727 738 100

## y.arma 727 738 100 -2000

## y.arma 738 100 -2000 3000

## y.arma 100 -2000 3000 2770

## y.arma -2000 3000 2770 -1857

## y.arma 3000 2770 -1857 -1513

## y.arma 2770 -1857 -1513 450

## y.arma -1857 -1513 450 2050

## y.arma -1513 450 2050 2500

## y.arma 450 2050 2500 -1500

## y.arma 2050 2500 -1500 -3262

## y.arma 2500 -1500 -3262 262

## y.arma -1500 -3262 262 -1000

## y.arma -3262 262 -1000 -1000

## y.arma 262 -1000 -1000 -1600

## y.arma -1000 -1000 -1600 730

## y.arma -1000 -1600 730 1221

## y.arma -1600 730 1221 -1451

## y.arma 730 1221 -1451 2075

## y.arma 1221 -1451 2075 -171

## y.arma -1451 2075 -171 696

## y.arma 2075 -171 696 1500

## y.arma -171 696 1500 0

## y.arma 696 1500 0 1000

## y.arma 1500 0 1000 0

## y.arma 0 1000 0 4000

## y.arma 1000 0 4000 3100

## y.arma 0 4000 3100 -5100

## y.arma 4000 3100 -5100 -2903

## y.arma 3100 -5100 -2903 5903

## y.arma -5100 -2903 5903 -3325

## y.arma -2903 5903 -3325 521

## y.arma 5903 -3325 521 -3196

## y.arma -3325 521 -3196 -2500

## y.arma 521 -3196 -2500 -500

## y.arma -3196 -2500 -500 1000

## y.arma -2500 -500 1000 1000

## y.arma -500 1000 1000 -3250

## y.arma 1000 1000 -3250 -2350

## y.arma 1000 -3250 -2350 4200

## y.arma -3250 -2350 4200 2102

## y.arma -2350 4200 2102 -3602

## y.arma 4200 2102 -3602 1400

## y.arma 2102 -3602 1400 -3500

## y.arma -3602 1400 -3500 3000

## y.arma 1400 -3500 3000 -1120

## y.arma -3500 3000 -1120 2620

## y.arma 3000 -1120 2620 -3500

## y.arma -1120 2620 -3500 -2000

## y.arma 2620 -3500 -2000 3150

## y.arma -3500 -2000 3150 -2050

## y.arma -2000 3150 -2050 -1700

## y.arma 3150 -2050 -1700 -1900

## y.arma -2050 -1700 -1900 500

## y.arma -1700 -1900 500 0

## y.arma -1900 500 0 4000

## y.arma 500 0 4000 -2000

## y.arma 0 4000 -2000 1610

## y.arma 4000 -2000 1610 -1110

## y.arma -2000 1610 -1110 1500

## y.arma 1610 -1110 1500 3000

## y.arma -1110 1500 3000 -860

## y.arma 1500 3000 -860 -1140

## y.arma 3000 -860 -1140 4000

## y.arma -860 -1140 4000 -2500

## y.arma -1140 4000 -2500 2500

## y.arma 4000 -2500 2500 -100

## y.arma -2500 2500 -100 -4000

## y.arma 2500 -100 -4000 -7900

## y.arma -100 -4000 -7900 8010

## y.arma -4000 -7900 8010 11990

## y.arma -7900 8010 11990 -1854

## y.arma 8010 11990 -1854 2854

## y.arma 11990 -1854 2854 4960

## y.arma -1854 2854 4960 1940

## y.arma 2854 4960 1940 -8900

## y.arma 4960 1940 -8900 8000

## y.arma 1940 -8900 8000 2000

## y.arma -8900 8000 2000 2988

## y.arma 8000 2000 2988 6612

## y.arma 2000 2988 6612 10650

## y.arma 2988 6612 10650 -1250

## y.arma 6612 10650 -1250 -9000

## y.arma 10650 -1250 -9000 3854

## y.arma -1250 -9000 3854 -1854

## y.arma -9000 3854 -1854 -2000

## y.arma 3854 -1854 -2000 4100

## y.arma -1854 -2000 4100 5900

## y.arma -2000 4100 5900 496

## y.arma 4100 5900 496 -1496

## y.arma 5900 496 -1496 2112

## y.arma 496 -1496 2112 7138

## y.arma -1496 2112 7138 500

## y.arma 2112 7138 500 -9750

## y.arma 7138 500 -9750 -10000

## y.arma 500 -9750 -10000 -6128

## y.arma -9750 -10000 -6128 -1502

## y.arma -10000 -6128 -1502 -7370

## y.arma -6128 -1502 -7370 -10000

## y.arma -1502 -7370 -10000 -5000

## y.arma -7370 -10000 -5000 -4496

## y.arma -10000 -5000 -4496 -5504

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1355    3405    6494    8650   11033   45252 
## [1] "The Rolling Window RMSE is:  8650.16"
RW_RMSE_ARUMA_S # 8650.16
## $rwRMSE
## [1] 8650.16
## 
## $trainingSize
## [1] 17
## 
## $numwindows
## [1] 178
## 
## $horizon
## [1] 6
## 
## $s
## [1] 12
## 
## $d
## [1] 1
## 
## $phi
## [1] -0.002148641  0.997349901
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  2922.069  3453.452  4139.833  3793.916  2692.029  4518.780 12481.700
##   [8] 15788.596  3716.212  2330.292  6491.302  5363.758  8582.198  6497.638
##  [15]  2150.615  7957.524  2453.171  2257.827  6384.226 10247.706  3826.222
##  [22]  2792.404  3188.393  5836.823 12603.098 18636.681  3400.963 11138.126
##  [29]  6195.606  4857.976 10928.373 12921.909  2147.235  2273.564  3896.855
##  [36] 12436.059  6374.155  4970.529 11040.101  5662.972  7164.437  4230.811
##  [43] 10761.266 10510.047  9453.320 11236.857 17291.600 20937.900  1354.635
##  [50]  4822.225  2557.384  7504.364  2397.118  2216.022  4983.154  2849.489
##  [57]  9020.758  6747.154  6214.442  9113.338 12720.553  2936.818  3344.632
##  [64]  2309.168  7370.778  2931.334  3350.032  4580.834 10505.924 14888.128
##  [71]  3769.106 18058.739 11384.933  1555.653  1772.837  2280.206  1784.011
##  [78]  6966.803  2352.878 11879.827  3022.246  8511.340  4032.384  6867.621
##  [85] 14188.209  7690.192  7171.491  4344.481  1484.110  4116.472  6956.026
##  [92]  4330.001  2325.942  3492.975  1927.244  1570.041  4220.164  2143.790
##  [99]  2942.228  3129.766  3172.770  8799.098 19331.821  3767.742 15838.603
## [106] 10882.661 11050.034  2281.524  2235.069 10334.176  6794.135  2762.708
## [113]  6091.538  4645.624 14098.551  4827.606 15499.551  2255.285  3718.657
## [120]  4922.273  2512.011  6244.880  7469.547  3265.502  9889.496  5041.609
## [127]  5258.622  8216.868  9702.097  6047.222  3171.229  6260.364  2827.806
## [134]  4200.027  2652.543  3255.407  7685.433  4470.585  5338.493  9466.804
## [141]  7267.483  6791.248  7518.433 18484.315 43138.309 18775.905 34284.314
## [148] 15908.216  6123.197 11013.403  9326.981 31627.056 20027.035  9990.797
## [155]  7047.728 16326.095 39645.704 25748.719 24407.159 16379.640  3417.529
## [162] 18581.468  7380.114 16361.120 15596.332  8775.930 13486.799 39235.986
## [169] 45252.211 11068.683 15831.035 10170.318 10400.351  9113.262 13113.420
## [176] 12425.224  7874.197 13599.611
# Short-term Signal-Plus Noise for home_price
wbg.boot.wge(df_train_s$home_price) # p-value 0.06516291 <- FTR
## $p
## [1] 1
## 
## $phi
## [1] 0.995765
## 
## $pv
## [1] 0.04260652
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.


# Long-term ARMA for cpi
aic5.wge(df_train_l$cpi, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     3    0 -0.4122248
##     2    1 -0.4110696
##     4    1 -0.4040163
##     1    2 -0.4037133
##     3    1 -0.4032691
est.cpi = est.arma.wge(df_train_l$cpi, p = 3, q = 0)
##   
##   
## Coefficients of AR polynomial:  
## 1.5973 -0.7740 0.1755 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.9979B              1.0021               0.9979       0.0000
## 1-0.5994B+0.1759B^2    1.7039+-1.6680i      0.4194       0.1233
##   
## 
preds = fore.arma.wge(df_train_l$cpi, phi = est.cpi$phi, n.ahead = 60, lastn = TRUE)

ASE = mean((df_test_l$cpi[(length(df_test_l$cpi)-60+1)] - preds$f)^2)
ASE # 333.8962
## [1] 333.8962
RMSE = sqrt(mean((df_test_l$cpi - preds$f[1:60])^2))
RMSE # 43.68068
## [1] 43.68068
# Long-term ARIMA for cpi
cpi.d1 = artrans.wge(df_train_l$cpi, phi.tr = 1)

aic5.wge(cpi.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    2 -0.4840233
##     2    0 -0.4820840
##     0    1 -0.4751818
##     0    2 -0.4734151
##     5    1 -0.4725518
est.cpi.d1 = est.arma.wge(cpi.d1, p = 2, q = 2)
##   
##   
## Coefficients of AR polynomial:  
## 1.1945 -0.3260 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.7724B              1.2947               0.7724       0.0000
## 1-0.4221B              2.3692               0.4221       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## 0.7367 0.2633 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1-1.0000B              1.0000               1.0000       0.0000
## 1+0.2633B             -3.7974               0.2633       0.5000
##   
## 
preds = fore.arima.wge(df_train_l$cpi, phi = est.cpi.d1$phi, d = 1, n.ahead = 60, lastn = F)
## y.arma 0.821 1.047 1.387 0.753 0.474 0.179 -0.056 0.435 0.7 0.736 0.484 0.616 0.493 1.286 0.394 2.073 2.611 1.516 -1.342 0.014 -1.698 -3.707 -1.809 0.725 1.11 0.443 0.886 -0.34 1.894 -0.332 0.058 0.404 -0.002 0.049 -0.584 0.579 0.438 0.308 0.593 -0.037 0.174 -0.821 0.333 0.747 0.033 -0.442 -0.176 1.306 1.411 2.344 1.905 0.721 -0.743 0.105 0.766 0.193 -0.893 0.145 -0.634 0.659 1.927 2.022 0.444 -0.638 -0.664 -0.491 0.32 1.25 -0.407 -1.008 -0.634 0.984 2.195 0.778 0.514 -0.1 0.261 0.436 0.438 0.035 -0.795 -0.741 1.216 0.82 0.975 1.494 0.461 0.449 0.511 -0.269 -0.425 0.183 -0.012 -1.4 -1.347 -1.028 0.021 1.453 0.675 0.819 0.57 -0.28 0.216 -0.597 0.077 -0.379 -0.961 0.577 0.698 1.229 0.561 0.837 0.822 -0.143 -0.084 0.367 0.687 -0.14 -0.015 1.01 0.367 0.089 0.638 0.503 0.485 -0.004 0.639 1.969 0.321 0.223 -0.892 0.561 1.487 0.305 0.406 1.891 0.857 -0.411 -0.486 0.563 0.958 -0.627 -0.749 0.304 0.402
ASE = mean((df_test_l$cpi[(length(df_test_l$cpi)-60+1)] - preds$f)^2)
ASE # 0.2092139
## [1] 0.2092139
RMSE = sqrt(mean((df_test_l$cpi - preds$f[1:60])^2))
RMSE # 27.76933
## [1] 27.76933
# Long-term ARUMA for cpi
cpi.12 = artrans.wge(cpi.d1, phi.tr = c(rep(0,11),1))

aic5.wge(cpi.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q         aic
##     3    1 -0.05959009
##     1    0 -0.03775819
##     0    1 -0.03279383
##     0    2 -0.03004617
##     2    0 -0.02974035
est.cpi12 = est.arma.wge(cpi.12, p = 3, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## 1.3378 -0.4376 0.0125 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.8271B              1.2091               0.8271       0.0000
## 1-0.4791B              2.0873               0.4791       0.0000
## 1-0.0316B              31.6026               0.0316       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## 1.0000 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1-1.0000B              1.0000               1.0000       0.0000
##   
## 
preds = fore.aruma.wge(df_train_l$cpi, phi = est.cpi12$phi, s = 12, d = 1, n.ahead = 60, lastn = F)
## s= 12 
## ptot.res= 13 
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1 
## ptot.fore= 16 
## phitot.fore 2.337787 -1.775351 0.4501026 -0.01253804 0 0 0 0 0 0 0 1 -2.337787 1.775351 -0.4501026 0.01253804

ASE = mean((df_test_l$cpi[(length(df_test_l$cpi)-60+1)] - preds$f)^2)
ASE # 408.5312
## [1] 408.5312
RMSE = sqrt(mean((df_test_l$cpi - preds$f[1:60])^2))
RMSE # 47.84829
## [1] 47.84829
# Long-term Signal-Plus Noise for cpi
wbg.boot.wge(df_train_l$cpi) # p-value 0 <- Reject
## $p
## [1] 3
## 
## $phi
## [1]  1.5972684 -0.7775481  0.1765905
## 
## $pv
## [1] 0
# Long-term ARMA for unemp
aic5.wge(df_train_l$unemp, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 1 0 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    1  -4.446769
##     3    1  -4.443593
##     2    2  -4.440981
##     2    3  -4.433670
##     4    1  -4.433296
est.unemp = est.arma.wge(df_train_l$unemp, p = 2, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## 1.8478 -0.8527 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.9543B              1.0479               0.9543       0.0000
## 1-0.8935B              1.1191               0.8935       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## 0.4447 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.4447B              2.2485               0.4447       0.0000
##   
## 
preds = fore.arma.wge(df_train_l$unemp, phi = est.unemp$phi, n.ahead = 60, lastn = TRUE)

ASE = mean((df_test_l$unemp[(length(df_test_l$unemp)-60+1)] - preds$f)^2)
ASE # 5.683878
## [1] 5.683878
RMSE = sqrt(mean((df_test_l$unemp - preds$f[1:60])^2))
RMSE # 2.350637
## [1] 2.350637
# Long-term ARIMA for unemp
unemp.d1 = artrans.wge(df_train_l$unemp, phi.tr = 1)

aic5.wge(unemp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     1    1  -4.442154
##     2    0  -4.433202
##     2    1  -4.432101
##     1    2  -4.431423
##     3    0  -4.423115
est.unemp.d1 = est.arma.wge(unemp.d1, p = 1, q = 1)
##   
##   
## Coefficients of AR polynomial:  
## 0.8320 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.8320B              1.2020               0.8320       0.0000
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## 0.3990 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.3990B              2.5061               0.3990       0.0000
##   
## 
preds = fore.arima.wge(df_train_l$unemp, phi = est.unemp.d1$phi, d = 1, n.ahead = 60, lastn = F)
## y.arma -0.1 0 -0.1 0 0 0 0 0.1 0 0 0 -0.1 0 0 0.1 0.1 0.2 0.1 0.2 0.2 0.2 0.2 0.3 0.2 0.2 0.1 0.1 1 0.5 0.2 0.1 0 0 0 0 0 0 0 -0.1 0 -0.1 0 0 0 0.1 0 0 0 0 -0.1 0 0.1 0.1 0 -0.1 -0.2 -0.2 -0.3 -0.2 -0.2 -0.1 -0.3 0.1 0 0 -0.1 -0.1 -0.1 0 0 0 0 0.1 -0.1 0 -0.1 0 -0.1 0 -0.1 -0.1 -0.1 -0.2 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 -0.1 -0.1 -0.1 -0.2 0 -0.1 0 0 -0.1 0 0 0.1 0 0 0 0 0 -0.1 0.1 0 0.1 0.1 0 0 0.1 0 0 0 0 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 0 0 0 0 -0.1 0 0 -0.1 0 0 -0.1 0 0 0 0 -0.1 -0.1
ASE = mean((df_test_l$unemp[(length(df_test_l$unemp)-60+1)] - preds$f)^2)
ASE # 0.1330498
## [1] 0.1330498
RMSE = sqrt(mean((df_test_l$unemp - preds$f[1:60])^2))
RMSE # 2.732234
## [1] 2.732234
# Long-term ARUMA for unemp
unemp.12 = artrans.wge(unemp.d1, phi.tr = c(rep(0,11),1))

aic5.wge(unemp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    0  -3.777977
##     1    1  -3.777924
##     1    0  -3.775468
##     1    2  -3.763453
##     2    1  -3.762939
est.unemp.12 = est.arma.wge(unemp.12, p = 2, q = 0)
##   
##   
## Coefficients of AR polynomial:  
## 0.5122 0.1310 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.6995B              1.4295               0.6995       0.0000
## 1+0.1873B             -5.3384               0.1873       0.5000
##   
## 
preds = fore.aruma.wge(df_train_l$unemp, phi = est.unemp.12$phi, s = 12, d = 1, n.ahead = 60, lastn = F)
## s= 12 
## ptot.res= 13 
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1 
## ptot.fore= 15 
## phitot.fore 1.51221 -0.3811729 -0.1310371 0 0 0 0 0 0 0 0 1 -1.51221 0.3811729 0.1310371

ASE = mean((df_test_l$unemp[(length(df_test_l$unemp)-60+1)] - preds$f)^2)
ASE # 1.336393
## [1] 1.336393
RMSE = sqrt(mean((df_test_l$unemp - preds$f[1:60])^2))
RMSE # 3.116287
## [1] 3.116287
# Long-term Signal-Plus Noise for unemp
wbg.boot.wge(df_train_l$unemp) # p-value 0.28070818 <- FTR
## $p
## [1] 3
## 
## $phi
## [1]  1.4629417 -0.2564122 -0.2140549
## 
## $pv
## [1] 0.273183
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.


# Long-term ARMA for home_price
aic5.wge(df_train_l$home_price, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 2 1 
## Error in aic calculation at 3 3 
## Error in aic calculation at 4 2 
## Error in aic calculation at 5 1 
## Error in aic calculation at 5 2 
## Error in aic calculation at 5 3 
## Five Smallest Values of  aic 
##     p    q        aic
##     1    0   17.17049
##     2    0   17.17439
##     1    1   17.17512
##     1    2   17.18505
##     3    0   17.18738
est.hp = est.arma.wge(df_train_l$home_price, p = 1, q = 0)
##   
##   
## Coefficients of AR polynomial:  
## 0.9908 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1-0.9908B              1.0092               0.9908       0.0000
##   
## 
preds = fore.arma.wge(df_train_l$home_price, phi = est.hp$phi, n.ahead = 60, lastn = TRUE)

ASE_ARMA_L = mean((df_test_l$home_price[1:60] - preds$f)^2)
ASE_ARMA_L # 4583718241
## [1] 18852254446
RW_RMSE_ARMA_L = roll.win.rmse.wge(df_train_s$home_price, horizon = 60, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 139 windows."

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    7174   14920   26000   29023   36116   74714 
## [1] "The Rolling Window RMSE is:  29022.996"
RW_RMSE_ARMA_L # 29022.996
## $rwRMSE
## [1] 29023
## 
## $trainingSize
## [1] 2
## 
## $numwindows
## [1] 139
## 
## $horizon
## [1] 60
## 
## $s
## [1] 0
## 
## $d
## [1] 0
## 
## $phi
## [1] 0.9908456
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1] 13814.783 15663.242 16426.678 17841.641 21308.614 19166.208 19244.668
##   [8] 15231.619 13052.541 13550.657 14908.770 10100.518 11760.162 13935.586
##  [15] 13582.097 15646.388 18061.470 16483.520 15185.106 10695.227  9017.852
##  [22]  7193.491  7852.119  8184.695  7173.998  7315.874  7880.601 10375.332
##  [29] 13531.313 12283.329 10453.814  9430.413  8778.663  9035.320  9273.796
##  [36] 11612.059 10417.531 10101.706 10143.221 10773.594 11456.691 12082.532
##  [43] 12383.801 13755.511 14932.213 14791.891 13946.365 19518.770 16468.006
##  [50] 18180.584 17996.766 16970.502 17157.228 18551.148 19481.444 21988.856
##  [57] 24202.828 25161.121 23288.537 31331.358 27750.181 23889.721 23783.046
##  [64] 22299.113 21578.282 23402.103 25472.495 27358.265 29902.531 28919.685
##  [71] 28108.810 36725.200 33327.615 29269.608 25999.955 24291.450 23394.031
##  [78] 24998.055 27333.149 30311.438 31621.830 32339.675 30665.383 37655.716
##  [85] 32717.350 30720.591 30272.453 27735.698 26053.739 27299.011 29331.684
##  [92] 32409.499 35011.450 33804.980 30470.058 38609.414 34640.221 32355.456
##  [99] 30576.744 26396.367 25568.650 28904.192 31104.428 35140.816 38848.555
## [106] 39134.167 35506.647 43304.307 40790.702 37819.971 37040.993 33851.992
## [113] 33684.697 37738.894 40261.191 44772.988 46626.712 46137.802 46918.907
## [120] 56327.847 51795.760 52238.558 52784.288 53065.684 54884.819 59290.625
## [127] 61374.854 65241.793 68634.816 69037.748 67093.764 74431.244 71346.709
## [134] 70060.597 71027.915 68116.369 69093.441 71542.463 74714.099
# Long-term ARIMA for home_price
hp.d1 = artrans.wge(df_train_l$home_price, phi.tr = 1)

aic5.wge(hp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Error in aic calculation at 3 2 
## Error in aic calculation at 3 3 
## Error in aic calculation at 4 2 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    3   17.00517
##     5    1   17.01181
##     4    1   17.04532
##     5    0   17.07878
##     5    2   17.09418
est.hp.d1 = est.arma.wge(hp.d1, p = 2, q = 3)
##   
##   
## Coefficients of AR polynomial:  
## -0.9961 -0.9922 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9961B+0.9922B^2   -0.5020+-0.8694i      0.9961       0.3333
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.9962 -1.0576 -0.0616 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9346B+1.0000B^2   -0.4673+-0.8841i      1.0000       0.3274
## 1+0.0616B             -16.2319               0.0616       0.5000
##   
## 
preds_ARIMA_L = fore.arima.wge(df_train_l$home_price, phi = est.hp.d1$phi, d = 1, n.ahead = 60, lastn = F)
## y.arma 2544 3815 1663 2739 5673 -2739 489 -5673 -3228 1271 2641 -8510 3717 4206 0 3718 4010 -1760 -1370 -6456 -2543 -4989 3326 -8609 6261 1369 3228 6261 5674 -1761 -3228 -2348 -4695 -392 1957 -7337 4109 2836 2642 1369 4109 2054 -1272 -6163 -2054 1565 4402 -11485 6900 -1900 2000 4500 2500 -1000 0 -3500 -2500 0 5000 -12000 7000 7990 2010 5000 4000 -1900 -2200 -1900 -3000 3000 3000 -12500 6500 7901 7099 5305 4160 -1465 -3000 -4100 -1000 0 4100 -10163 8663 4400 2100 6000 5000 -738 -2262 -4000 -3000 3000 6870 -12020 7150 4850 4150 8500 3500 -4000 -2000 -5000 -4000 1400 7600 -10799 5699 6925 3979 9196 5000 -4000 -1000 -5000 0 4500 2500 -13702 11602 3600 4500 6000 2500 -4500 0 -4000 -3250 2150 6700 -11600 8000 5000 1000 9000 1380 -1880 -3500 -6000 -100 100 5000 -13500 8500
ASE_ARIMA_L = mean((df_test_l$home_price[1:60] - preds_ARIMA_L$f)^2)
ASE_ARIMA_L # 62540456
## [1] 6392665503
RW_RMSE_ARIMA_L = roll.win.rmse.wge(df_train_s$home_price, horizon = 60, d=1, phi = est.hp.d1$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 136 windows."
## y.arma 2544 3815 1663 2739
## y.arma 3815 1663 2739 5673
## y.arma 1663 2739 5673 -2739

## y.arma 2739 5673 -2739 489
## y.arma 5673 -2739 489 -5673
## y.arma -2739 489 -5673 -3228
## y.arma 489 -5673 -3228 1271

## y.arma -5673 -3228 1271 2641
## y.arma -3228 1271 2641 -8510
## y.arma 1271 2641 -8510 3717
## y.arma 2641 -8510 3717 4206

## y.arma -8510 3717 4206 0
## y.arma 3717 4206 0 3718
## y.arma 4206 0 3718 4010
## y.arma 0 3718 4010 -1760

## y.arma 3718 4010 -1760 -1370
## y.arma 4010 -1760 -1370 -6456
## y.arma -1760 -1370 -6456 -2543
## y.arma -1370 -6456 -2543 -4989

## y.arma -6456 -2543 -4989 3326
## y.arma -2543 -4989 3326 -8609
## y.arma -4989 3326 -8609 6261
## y.arma 3326 -8609 6261 1369

## y.arma -8609 6261 1369 3228
## y.arma 6261 1369 3228 6261
## y.arma 1369 3228 6261 5674
## y.arma 3228 6261 5674 -1761

## y.arma 6261 5674 -1761 -3228
## y.arma 5674 -1761 -3228 -2348
## y.arma -1761 -3228 -2348 -4695
## y.arma -3228 -2348 -4695 -392

## y.arma -2348 -4695 -392 1957
## y.arma -4695 -392 1957 -7337
## y.arma -392 1957 -7337 4109
## y.arma 1957 -7337 4109 2836

## y.arma -7337 4109 2836 2642
## y.arma 4109 2836 2642 1369
## y.arma 2836 2642 1369 4109
## y.arma 2642 1369 4109 2054

## y.arma 1369 4109 2054 -1272
## y.arma 4109 2054 -1272 -6163
## y.arma 2054 -1272 -6163 -2054
## y.arma -1272 -6163 -2054 1565

## y.arma -6163 -2054 1565 4402
## y.arma -2054 1565 4402 -11485
## y.arma 1565 4402 -11485 6900
## y.arma 4402 -11485 6900 -1900

## y.arma -11485 6900 -1900 2000
## y.arma 6900 -1900 2000 4500
## y.arma -1900 2000 4500 2500
## y.arma 2000 4500 2500 -1000

## y.arma 4500 2500 -1000 0
## y.arma 2500 -1000 0 -3500
## y.arma -1000 0 -3500 -2500
## y.arma 0 -3500 -2500 0

## y.arma -3500 -2500 0 5000
## y.arma -2500 0 5000 -12000
## y.arma 0 5000 -12000 7000
## y.arma 5000 -12000 7000 7990

## y.arma -12000 7000 7990 2010
## y.arma 7000 7990 2010 5000
## y.arma 7990 2010 5000 4000
## y.arma 2010 5000 4000 -1900

## y.arma 5000 4000 -1900 -2200
## y.arma 4000 -1900 -2200 -1900
## y.arma -1900 -2200 -1900 -3000
## y.arma -2200 -1900 -3000 3000

## y.arma -1900 -3000 3000 3000
## y.arma -3000 3000 3000 -12500
## y.arma 3000 3000 -12500 6500
## y.arma 3000 -12500 6500 7901

## y.arma -12500 6500 7901 7099
## y.arma 6500 7901 7099 5305
## y.arma 7901 7099 5305 4160
## y.arma 7099 5305 4160 -1465

## y.arma 5305 4160 -1465 -3000
## y.arma 4160 -1465 -3000 -4100
## y.arma -1465 -3000 -4100 -1000
## y.arma -3000 -4100 -1000 0

## y.arma -4100 -1000 0 4100
## y.arma -1000 0 4100 -10163
## y.arma 0 4100 -10163 8663
## y.arma 4100 -10163 8663 4400

## y.arma -10163 8663 4400 2100
## y.arma 8663 4400 2100 6000
## y.arma 4400 2100 6000 5000
## y.arma 2100 6000 5000 -738

## y.arma 6000 5000 -738 -2262
## y.arma 5000 -738 -2262 -4000
## y.arma -738 -2262 -4000 -3000
## y.arma -2262 -4000 -3000 3000

## y.arma -4000 -3000 3000 6870
## y.arma -3000 3000 6870 -12020
## y.arma 3000 6870 -12020 7150
## y.arma 6870 -12020 7150 4850

## y.arma -12020 7150 4850 4150
## y.arma 7150 4850 4150 8500
## y.arma 4850 4150 8500 3500
## y.arma 4150 8500 3500 -4000

## y.arma 8500 3500 -4000 -2000
## y.arma 3500 -4000 -2000 -5000
## y.arma -4000 -2000 -5000 -4000
## y.arma -2000 -5000 -4000 1400

## y.arma -5000 -4000 1400 7600
## y.arma -4000 1400 7600 -10799
## y.arma 1400 7600 -10799 5699
## y.arma 7600 -10799 5699 6925

## y.arma -10799 5699 6925 3979
## y.arma 5699 6925 3979 9196
## y.arma 6925 3979 9196 5000
## y.arma 3979 9196 5000 -4000

## y.arma 9196 5000 -4000 -1000
## y.arma 5000 -4000 -1000 -5000
## y.arma -4000 -1000 -5000 0
## y.arma -1000 -5000 0 4500

## y.arma -5000 0 4500 2500
## y.arma 0 4500 2500 -13702
## y.arma 4500 2500 -13702 11602
## y.arma 2500 -13702 11602 3600

## y.arma -13702 11602 3600 4500
## y.arma 11602 3600 4500 6000
## y.arma 3600 4500 6000 2500
## y.arma 4500 6000 2500 -4500

## y.arma 6000 2500 -4500 0
## y.arma 2500 -4500 0 -4000
## y.arma -4500 0 -4000 -3250
## y.arma 0 -4000 -3250 2150

## y.arma -4000 -3250 2150 6700
## y.arma -3250 2150 6700 -11600
## y.arma 2150 6700 -11600 8000
## y.arma 6700 -11600 8000 5000

## y.arma -11600 8000 5000 1000
## y.arma 8000 5000 1000 9000
## y.arma 5000 1000 9000 1380
## y.arma 1000 9000 1380 -1880

## y.arma 9000 1380 -1880 -3500
## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    5922   23965   35782   34804   43658   68936 
## [1] "The Rolling Window RMSE is:  34804.298"
RW_RMSE_ARIMA_L # 34804.298
## $rwRMSE
## [1] 34804.3
## 
## $trainingSize
## [1] 5
## 
## $numwindows
## [1] 136
## 
## $horizon
## [1] 60
## 
## $s
## [1] 0
## 
## $d
## [1] 1
## 
## $phi
## [1] -0.9961147 -0.9922185
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  5922.501  6668.376  7787.308  8352.803  7819.549  7361.239  7561.285
##   [8]  7730.384  8782.245  9353.982  9715.962  9014.973  8830.834  9311.703
##  [15] 10197.712 10692.952 11860.263 13047.036 16127.417 17653.839 20610.899
##  [22] 20866.096 21695.862 19568.439 17894.231 15502.271 14838.756 15518.178
##  [29] 17360.298 19623.866 21881.341 23399.930 25432.754 26404.495 27198.671
##  [36] 25664.456 24998.203 24093.071 23579.481 23332.261 25499.445 28107.415
##  [43] 30238.560 29976.814 32162.413 32852.066 35384.152 34417.862 34328.032
##  [50] 33018.365 32614.638 33266.063 35455.979 37914.493 40523.990 40766.990
##  [57] 43629.463 44554.370 44593.263 40789.997 37594.311 35643.200 34841.149
##  [64] 35921.721 38511.531 41187.700 42516.539 42576.195 45394.547 47131.187
##  [71] 47433.241 42312.736 37445.113 33658.326 32654.746 33664.328 36860.251
##  [78] 39615.764 41748.857 41615.063 44011.986 43900.103 43750.771 40183.967
##  [85] 37504.646 34670.331 32846.711 33125.144 35978.458 39172.483 40944.926
##  [92] 39757.054 41028.690 41147.308 41862.944 38037.179 33717.588 29841.843
##  [99] 28988.416 30829.350 35129.060 39319.641 42593.013 42192.066 43745.574
## [106] 44223.142 44986.892 41862.119 38040.736 35198.066 34810.754 36895.679
## [113] 41377.826 44660.900 46635.690 46806.844 50642.122 52519.960 54317.095
## [120] 52042.037 51686.787 51449.942 53001.402 55520.013 59434.028 62870.463
## [127] 65573.372 65581.605 67579.770 68037.959 68935.558 66787.198 64630.643
## [134] 63361.388 62798.470 65159.978
# Long-term ARUMA for home_price
hp.12 = artrans.wge(hp.d1, phi.tr = c(rep(0,11),1))

aic5.wge(hp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT... 
## 
## 
## Five Smallest Values of  aic 
##     p    q        aic
##     2    3   15.56209
##     4    2   15.59564
##     0    2   15.62490
##     0    1   15.62733
##     1    1   15.62815
est.hp.12 = est.arma.wge(hp.12, p = 2, q = 3)
##   
##   
## Coefficients of AR polynomial:  
## -0.7361 -0.8806 
## 
##                            AR Factor Table 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.7361B+0.8806B^2   -0.4179+-0.9803i      0.9384       0.3141
##   
##   
##   
##   
## Coefficients of MA polynomial:  
## -0.5701 -0.6814 0.3473 
## 
##                               MA FACTOR TABLE 
## Factor                 Roots                Abs Recip    System Freq 
## 1+0.9174B+1.0000B^2   -0.4587+-0.8886i      1.0000       0.3258
## 1-0.3473B              2.8793               0.3473       0.0000
##   
## 
preds = fore.aruma.wge(df_train_l$home_price, phi = est.hp.12$phi, s = 12, d = 1, n.ahead = 60, lastn = F)
## s= 12 
## ptot.res= 13 
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1 
## ptot.fore= 15 
## phitot.fore 0.2639327 -0.1445434 0.8806107 0 0 0 0 0 0 0 0 1 -0.2639327 0.1445434 -0.8806107

ASE_ARUMA_L = mean((df_test_l$home_price[1:60] - preds$f)^2)
ASE_ARUMA_L # 278490092
## [1] 3489515518
RW_RMSE_ARUMA_L = roll.win.rmse.wge(df_train_s$home_price, horizon = 60, s=12, d=1, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 125 windows."
## y.arma 1173 391 -1663

## y.arma 391 -1663 979

## y.arma -1663 979 -1663

## y.arma 979 -1663 979

## y.arma -1663 979 -1859

## y.arma 979 -1859 -783

## y.arma -1859 -783 685

## y.arma -783 685 -6260

## y.arma 685 -6260 685

## y.arma -6260 685 -99

## y.arma 685 -99 2544

## y.arma -99 2544 -2837

## y.arma 2544 -2837 3228

## y.arma -2837 3228 2543

## y.arma 3228 2543 1664

## y.arma 2543 1664 -1

## y.arma 1664 -1 -1858

## y.arma -1 -1858 4108

## y.arma -1858 4108 -2152

## y.arma 4108 -2152 4597

## y.arma -2152 4597 -1369

## y.arma 4597 -1369 1272

## y.arma -1369 1272 -2152

## y.arma 1272 -2152 1467

## y.arma -2152 1467 -586

## y.arma 1467 -586 -4892

## y.arma -586 -4892 -1565

## y.arma -4892 -1565 3815

## y.arma -1565 3815 1956

## y.arma 3815 1956 -3815

## y.arma 1956 -3815 2641

## y.arma -3815 2641 1957

## y.arma 2641 1957 2445

## y.arma 1957 2445 -4148

## y.arma 2445 -4148 2791

## y.arma -4148 2791 -4736

## y.arma 2791 -4736 -642

## y.arma -4736 -642 3131

## y.arma -642 3131 -1609

## y.arma 3131 -1609 -3054

## y.arma -1609 -3054 1272

## y.arma -3054 1272 2663

## y.arma 1272 2663 -446

## y.arma 2663 -446 -1565

## y.arma -446 -1565 598

## y.arma -1565 598 -515

## y.arma 598 -515 100

## y.arma -515 100 9890

## y.arma 100 9890 10

## y.arma 9890 10 500

## y.arma 10 500 1500

## y.arma 500 1500 -900

## y.arma 1500 -900 -2200

## y.arma -900 -2200 1600

## y.arma -2200 1600 -500

## y.arma 1600 -500 3000

## y.arma -500 3000 -2000

## y.arma 3000 -2000 -500

## y.arma -2000 -500 -500

## y.arma -500 -500 -89

## y.arma -500 -89 5089

## y.arma -89 5089 305

## y.arma 5089 305 160

## y.arma 305 160 435

## y.arma 160 435 -800

## y.arma 435 -800 -2200

## y.arma -800 -2200 2000

## y.arma -2200 2000 -3000

## y.arma 2000 -3000 1100

## y.arma -3000 1100 2337

## y.arma 1100 2337 2163

## y.arma 2337 2163 -3501

## y.arma 2163 -3501 -4999

## y.arma -3501 -4999 695

## y.arma -4999 695 840

## y.arma 695 840 727

## y.arma 840 727 738

## y.arma 727 738 100

## y.arma 738 100 -2000

## y.arma 100 -2000 3000

## y.arma -2000 3000 2770

## y.arma 3000 2770 -1857

## y.arma 2770 -1857 -1513

## y.arma -1857 -1513 450

## y.arma -1513 450 2050

## y.arma 450 2050 2500

## y.arma 2050 2500 -1500

## y.arma 2500 -1500 -3262

## y.arma -1500 -3262 262

## y.arma -3262 262 -1000

## y.arma 262 -1000 -1000

## y.arma -1000 -1000 -1600

## y.arma -1000 -1600 730

## y.arma -1600 730 1221

## y.arma 730 1221 -1451

## y.arma 1221 -1451 2075

## y.arma -1451 2075 -171

## y.arma 2075 -171 696

## y.arma -171 696 1500

## y.arma 696 1500 0

## y.arma 1500 0 1000

## y.arma 0 1000 0

## y.arma 1000 0 4000

## y.arma 0 4000 3100

## y.arma 4000 3100 -5100

## y.arma 3100 -5100 -2903

## y.arma -5100 -2903 5903

## y.arma -2903 5903 -3325

## y.arma 5903 -3325 521

## y.arma -3325 521 -3196

## y.arma 521 -3196 -2500

## y.arma -3196 -2500 -500

## y.arma -2500 -500 1000

## y.arma -500 1000 1000

## y.arma 1000 1000 -3250

## y.arma 1000 -3250 -2350

## y.arma -3250 -2350 4200

## y.arma -2350 4200 2102

## y.arma 4200 2102 -3602

## y.arma 2102 -3602 1400

## y.arma -3602 1400 -3500

## y.arma 1400 -3500 3000

## y.arma -3500 3000 -1120

## y.arma 3000 -1120 2620

## y.arma -1120 2620 -3500

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    7064   55016  128892  150778  212938  714481 
## [1] "The Rolling Window RMSE is:  150777.681"
RW_RMSE_ARUMA_L # 150777.681
## $rwRMSE
## [1] 150777.7
## 
## $trainingSize
## [1] 16
## 
## $numwindows
## [1] 125
## 
## $horizon
## [1] 60
## 
## $s
## [1] 12
## 
## $d
## [1] 1
## 
## $phi
## [1] 0.9908456
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1] 125331.438  70784.198 128891.477  67231.980 147359.130  71960.569
##   [7]  37271.319 492433.900  17080.566  42153.272 158594.107 245452.591
##  [13] 207765.840 165054.257 105488.699  17516.245 159674.048 289623.009
##  [19] 175967.331 332195.540 109549.481  87632.388 170690.397  98395.815
##  [25]  54745.074 386400.611 149179.012 256028.815 125782.364 309538.779
##  [31] 170798.506 126654.762 169840.750 326524.155 189790.292 377081.181
##  [37]  80737.612 204682.302 148473.694 265079.105  55070.325 164367.978
##  [43]  65712.115 153481.592   9757.414  78275.094  34586.601 714481.034
##  [49]   8951.842  28653.245 106418.915  72215.735 174663.331 108432.870
##  [55]  47052.655 218808.664 153622.480  45765.239  47669.394  18287.334
##  [61] 377532.390  28799.826  19057.774  40761.802  52115.066 161344.723
##  [67] 152680.208 222705.906  81007.446 179340.724 174030.334 251427.413
##  [73] 377202.604  41781.071  55016.007  49205.867  52501.602   7063.990
##  [79] 154041.774 221739.397 214093.514 130111.817 109715.768  35656.985
##  [85] 159516.631 201229.051  95897.264 235485.092  23301.501  72915.294
##  [91]  76822.191 126532.070  46317.518  85601.758 115572.896 148696.571
##  [97]  18192.901  48409.877 111069.396   8556.713  76297.174  10360.280
## [103] 306620.180 250349.432 367735.101 217729.169 445209.827 242777.181
## [109]  42682.335 245409.829 204372.357  62374.468  52900.662  54949.225
## [115] 270137.939 212937.874 279707.564 132918.245 297624.367  73797.737
## [121] 298224.517 187059.150 119820.178 162987.613 297468.534
# Long-term Signal-Plus Noise for unemp
wbg.boot.wge(df_train_l$home_price) # p-value 0.03508772 <- Reject
## $p
## [1] 1
## 
## $phi
## [1] 0.9866386
## 
## $pv
## [1] 0.01503759
# 4b. Fitting VAR model

# Short term
VARselect(df_train_s, type = "none")
## $selection
## AIC(n)  HQ(n)  SC(n) FPE(n) 
##      8      2      2      8 
## 
## $criteria
##                   1            2            3            4            5
## AIC(n) 1.631995e+01 1.601811e+01 1.602982e+01 1.606592e+01 1.595015e+01
## HQ(n)  1.638225e+01 1.614272e+01 1.621673e+01 1.631514e+01 1.626168e+01
## SC(n)  1.647375e+01 1.632572e+01 1.649124e+01 1.668115e+01 1.671918e+01
## FPE(n) 1.223674e+07 9.049067e+06 9.157009e+06 9.496447e+06 8.462373e+06
##                   6            7            8            9           10
## AIC(n) 1.590148e+01 1.591885e+01 1.587082e+01 1.588793e+01 1.591449e+01
## HQ(n)  1.627531e+01 1.635499e+01 1.636925e+01 1.644867e+01 1.653754e+01
## SC(n)  1.682432e+01 1.699550e+01 1.710127e+01 1.727219e+01 1.745255e+01
## FPE(n) 8.066160e+06 8.215827e+06 7.841069e+06 7.990320e+06 8.223293e+06
var_fit_s=VAR(df_train_s,p=2,type="none")
var_fit_s
## 
## VAR Estimation Results:
## ======================= 
## 
## Estimated coefficients for equation cpi: 
## ======================================== 
## Call:
## cpi = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 
## 
##        cpi.l1      unemp.l1 home_price.l1        cpi.l2      unemp.l2 
##  1.412173e+00 -2.482301e-02  1.449858e-05 -4.174794e-01  8.890563e-02 
## home_price.l2 
## -9.276711e-06 
## 
## 
## Estimated coefficients for equation unemp: 
## ========================================== 
## Call:
## unemp = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 
## 
##        cpi.l1      unemp.l1 home_price.l1        cpi.l2      unemp.l2 
## -1.616465e-02  1.128833e+00  5.292282e-06  2.150134e-02 -2.209282e-01 
## home_price.l2 
## -8.506220e-06 
## 
## 
## Estimated coefficients for equation home_price: 
## =============================================== 
## Call:
## home_price = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 
## 
##        cpi.l1      unemp.l1 home_price.l1        cpi.l2      unemp.l2 
##  2.273841e+03  2.396492e+02  9.115161e-01 -2.270414e+03 -1.314060e+02 
## home_price.l2 
##  8.215131e-02
preds_var_s = predict(var_fit_s,n.ahead= 6)
ASE_VAR_S = mean((df_test_s$home_price[1:6] - preds_var_s$fcst$home_price[1:6])^2)
ASE_VAR_S
## [1] 303189519
# Long term
VARselect(df_train_l, type = "both")
## $selection
## AIC(n)  HQ(n)  SC(n) FPE(n) 
##      3      2      2      3 
## 
## $criteria
##                   1            2            3            4            5
## AIC(n)     12.72697     12.12171     12.05715     12.06927     12.16697
## HQ(n)      12.85751     12.33059     12.34435     12.43480     12.61084
## SC(n)      13.04822     12.63571     12.76389     12.96876     13.25922
## FPE(n) 336740.10694 183895.17468 172509.84872 174811.52222 193091.19151
##                   6            7            8            9           10
## AIC(n)     12.14611     12.12814     12.12798     12.06139     12.07016
## HQ(n)      12.66830     12.72866     12.80683     12.81856     12.90566
## SC(n)      13.43111     13.60588     13.79848     13.92463     14.12615
## FPE(n) 189578.59559 186835.33187 187638.56589 176544.11427 179353.18248
var_fit_l=VAR(df_train_l,p=2, lag.max = 6, season = 12)
var_fit_l
## 
## VAR Estimation Results:
## ======================= 
## 
## Estimated coefficients for equation cpi: 
## ======================================== 
## Call:
## cpi = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 + cpi.l3 + unemp.l3 + home_price.l3 + const + sd1 + sd2 + sd3 + sd4 + sd5 + sd6 + sd7 + sd8 + sd9 + sd10 + sd11 
## 
##        cpi.l1      unemp.l1 home_price.l1        cpi.l2      unemp.l2 
##  1.443574e+00  1.096601e+00 -3.767924e-05 -6.578428e-01 -2.621975e+00 
## home_price.l2        cpi.l3      unemp.l3 home_price.l3         const 
##  5.878073e-05  1.751286e-01  1.616666e+00 -4.354661e-06  4.981085e+00 
##           sd1           sd2           sd3           sd4           sd5 
##  1.016591e+00  2.244234e-01  1.300584e+00  7.320742e-01  6.109101e-01 
##           sd6           sd7           sd8           sd9          sd10 
##  7.153792e-01  1.466645e-02  1.452043e-01  4.210752e-01 -3.714416e-01 
##          sd11 
## -4.241363e-01 
## 
## 
## Estimated coefficients for equation unemp: 
## ========================================== 
## Call:
## unemp = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 + cpi.l3 + unemp.l3 + home_price.l3 + const + sd1 + sd2 + sd3 + sd4 + sd5 + sd6 + sd7 + sd8 + sd9 + sd10 + sd11 
## 
##        cpi.l1      unemp.l1 home_price.l1        cpi.l2      unemp.l2 
## -4.278465e-03  1.395984e+00 -7.937153e-07  8.819391e-03 -1.680062e-01 
## home_price.l2        cpi.l3      unemp.l3 home_price.l3         const 
## -7.040935e-06 -5.210735e-03 -2.441519e-01  7.301105e-06  3.274820e-01 
##           sd1           sd2           sd3           sd4           sd5 
##  3.459099e-02  4.505461e-02 -7.575930e-02  9.271270e-02  1.394617e-01 
##           sd6           sd7           sd8           sd9          sd10 
##  7.994945e-02  4.254362e-02  4.990166e-02  5.021876e-03  2.092028e-02 
##          sd11 
## -2.147923e-02 
## 
## 
## Estimated coefficients for equation home_price: 
## =============================================== 
## Call:
## home_price = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 + cpi.l3 + unemp.l3 + home_price.l3 + const + sd1 + sd2 + sd3 + sd4 + sd5 + sd6 + sd7 + sd8 + sd9 + sd10 + sd11 
## 
##        cpi.l1      unemp.l1 home_price.l1        cpi.l2      unemp.l2 
##  3.965682e+02  1.825207e+03  8.670204e-01 -5.102824e+02 -2.785844e+03 
## home_price.l2        cpi.l3      unemp.l3 home_price.l3         const 
##  1.811907e-02  2.184969e+02  8.513530e+02  8.510660e-02 -1.535990e+04 
##           sd1           sd2           sd3           sd4           sd5 
## -1.477082e+04  1.264126e+03 -6.024470e+02 -6.164079e+02  1.862684e+03 
##           sd6           sd7           sd8           sd9          sd10 
##  3.300533e+02 -5.427007e+03 -5.596697e+03 -9.220924e+03 -7.687517e+03 
##          sd11 
## -4.146924e+03
preds_var_l = predict(var_fit_l,n.ahead= 60)
ASE_VAR_L = mean((df_test_l$home_price[1:60] - preds_var_l$fcst$home_price[1:60])^2)
ASE_VAR_L
## [1] 1020036688
# 4c. Fitting Neural Network (mlp) model

# Short term

# Forecasting unemployment and CPI
mlp_fit_unemp_short = mlp(unemp_ts_train_s, reps = 50, comb = "median")
fore_mlp_unemp_short = forecast(mlp_fit_unemp_short, h = 6)
mlp_fit_cpi_short = mlp(cpi_ts_train_s, reps = 50, comb = "median")
fore_mlp_cpi_short = forecast(mlp_fit_cpi_short, h = 6)

# Fitting the model
mlp_fit_short = mlp(home_price_ts_train_s, xreg = data.frame(cpi = cpi_ts_train_s, unemp = unemp_ts_train_s))
df_original = data.frame(cpi = df_train_s$cpi, unemp = df_train_s$unemp)
df_fore_s = data.frame(cpi = fore_mlp_cpi_short$mean, unemp = fore_mlp_unemp_short$mean)

# Forecasting
forecast_mlp_short = forecast(mlp_fit_short, h=6, xreg = rbind(df_original, df_fore_s))
ASE_MLP_S = mean((df_test_s$home_price[1:6]-forecast_mlp_short$mean)^2)
ASE_MLP_S
## [1] 7542249
# Long term

# Forecasting unemployment and CPI
mlp_fit_unemp_long = mlp(unemp_ts_train_l, reps = 50, comb = "median")
fore_mlp_unemp_long = forecast(mlp_fit_unemp_long, h = 60)
mlp_fit_cpi_long = mlp(cpi_ts_train_l, reps = 50, comb = "median")
fore_mlp_cpi_long = forecast(mlp_fit_cpi_long, h = 60)

# Fitting the model
mlp_fit_long = mlp(home_price_ts_train_l, allow.det.season = TRUE, reps = 50, comb = "median", xreg = data.frame(cpi = cpi_ts_train_l, unemp = unemp_ts_train_l))
df_original = data.frame(cpi = df_train_l$cpi, unemp = df_train_l$unemp)
df_fore_l = data.frame(cpi = fore_mlp_cpi_long$mean, unemp = fore_mlp_unemp_long$mean)

# Forecasting
forecast_mlp_long = forecast(mlp_fit_long, h=60, xreg = rbind(df_original, df_fore_l))
ASE_MLP_L = mean((df_test_l$home_price[1:60]-forecast_mlp_long$mean)^2)
ASE_MLP_L
## [1] 3873669021
# 4d. Fitting Ensemble model using at least two of the above.
# We are using the ARIMA and MLP models

# Short term
ensemble_s = (preds_ARIMA_S$f + forecast_mlp_short$mean)/2
ensemble_s
##           Jan      Feb Mar Apr May Jun Jul Aug      Sep      Oct      Nov
## 2023                                           338718.2 335103.6 331012.8
## 2024 329591.7 333778.1                                                   
##           Dec
## 2023 333830.4
## 2024
ASE_ENSEMBLE_S = mean((df_test_s$home_price[1:6] - ensemble_s)^2)
ASE_ENSEMBLE_S # 43293525344
## [1] 14202982
# Long term
ensemble_l = (preds_ARIMA_L$f + forecast_mlp_long$mean)/2
ensemble_l
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2019                   233903.7 227936.5 235644.1 238604.6 232411.9 234933.2
## 2020 225489.1 232914.4 237093.6 231334.1 238255.8 240897.7 234349.4 237828.8
## 2021 227954.9 235542.7 239202.7 233186.9 239508.6 241799.0 238087.6 239978.9
## 2022 231609.0 238330.2 241318.4 235766.2 241496.4 243252.5 239017.1 241786.5
## 2023 233369.6 239301.9 242918.4 238387.1 243804.5 244888.5 241438.5 243887.5
## 2024 236174.6 241555.5                                                      
##           Sep      Oct      Nov      Dec
## 2019 234563.1 227161.6 231657.9 236811.0
## 2020 236970.1 230309.1 234004.1 238711.3
## 2021 239800.3 233342.2 236450.3 241260.9
## 2022 241022.3 235299.4 238596.1 242850.2
## 2023 243760.6 237842.1 240277.3 244189.2
## 2024
ASE_ENSEMBLE_L = mean((df_test_l$home_price[1:60] - ensemble_l)^2)
ASE_ENSEMBLE_L # 43293525344
## [1] 5043349630
# 5. Pick a short and long term forecast horizon based on your “problem” from part 3 above and compare all models with the ASE and the rolling window RMSE for both the short and long term forecasts 
# Short term horizon: 6 months
# Long term horizon: 5 years

# Evaluating models for short-term forecast:

RW_RMSE_ARMA_S
## $rwRMSE
## [1] 10761.06
## 
## $trainingSize
## [1] 3
## 
## $numwindows
## [1] 192
## 
## $horizon
## [1] 6
## 
## $s
## [1] 0
## 
## $d
## [1] 0
## 
## $phi
## [1] -0.002148641  0.997349901
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  7958.733  5379.476  5013.887  6426.267  9000.361  9185.940  7116.683
##   [8]  4039.473  3759.187  4661.234  8297.048  9569.450  6502.335  4956.014
##  [15]  7479.780 10160.556 13908.407 14026.219 10661.010  7126.550  5446.986
##  [22]  7480.252 12285.925 13544.943 10600.149  8848.081  6494.809  8039.497
##  [29] 11207.035 10200.290  7653.844  5572.630  3412.783  4402.724  8866.949
##  [36] 10470.281  7722.712  5411.109  4319.528  4360.301  8649.873  9288.047
##  [43]  6017.544  4329.460  4225.697  4584.108  7516.572  7681.131  5404.589
##  [50]  5489.464  4319.358  4132.178  7226.668  7477.063  6040.757  6279.476
##  [57]  8292.035  9386.407 15438.539 17486.352 11315.770  6244.906  4353.516
##  [64]  4783.418  7768.570  7073.507  5400.333  7684.361 10218.454 11681.938
##  [71] 18900.262 21882.679 16242.131  9380.082  5356.192  5991.775  9010.504
##  [78]  7894.495  4559.051  5481.627  8053.057  9669.276 15706.113 17047.884
##  [85] 11348.859  8361.718  5868.104  4845.051  7423.623  6843.854  4731.835
##  [92]  7901.102 11112.950 11040.765 16301.443 18374.257 13249.782  9250.397
##  [99]  7636.570  8739.314 10046.205  8338.500  5710.074  8095.845 12274.926
## [106] 13253.167 18153.263 21046.729 16219.289 11116.594  7425.006  5096.619
## [113]  7362.934  6120.351  5278.583  7972.971  9986.795 10084.278 16877.295
## [120] 18003.470 10810.230  7162.751  5540.711  6345.190  6975.784  5643.327
## [127]  4917.996  7382.385 10530.289 10145.421 15333.908 16611.876 10290.258
## [134]  7470.597  7364.271  7863.419 10530.405  9551.918  5241.752  6230.458
## [141]  9432.100 10693.833 17299.346 19362.125 13532.472  9006.093  5742.176
## [148]  5141.453  7558.859  6847.197  5271.338  7041.036  8015.539  7968.413
## [155] 18309.089 20897.260 15670.965 15486.129 17697.198 15151.313  6970.316
## [162]  5984.146  9518.108 12442.378 17150.977 23681.677 32862.115 34517.866
## [169] 27664.676 22407.051 16710.597  9963.152  6048.973  8924.636 14844.772
## [176] 22334.687 27976.662 29357.780 33546.151 33068.609 23605.276 14605.822
## [183] 15785.751 21211.031 21509.721 17099.078 13272.116 10599.055  9082.374
## [190] 11717.878 18556.765 21008.487
# 10761.06
RW_RMSE_ARIMA_S
## $rwRMSE
## [1] 9854.404
## 
## $trainingSize
## [1] 8
## 
## $numwindows
## [1] 187
## 
## $horizon
## [1] 6
## 
## $s
## [1] 0
## 
## $d
## [1] 1
## 
## $phi
## [1] -0.38215860  0.06373302  0.53965065 -0.05670907 -0.35932674
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  7612.254  3174.559  4298.868  3967.573  4193.058  7337.535  9932.462
##   [8]  7007.905  4489.023  7912.600  9566.721 13081.893 11730.093  4873.169
##  [15]  3428.500  5932.679  6430.509 12469.420 10895.461 10121.879  4890.488
##  [22]  5159.885  8745.343 10981.799  5511.794  2288.278  3197.311  3212.658
##  [29]  3694.816  8873.001  9715.216  8116.613  3275.158  3477.458  3678.126
##  [36]  8298.725  8369.035  4614.974  5836.227  4510.303  6935.945  6469.418
##  [43]  7620.954  9042.344  2599.668  3714.834  4638.441  7469.046  5105.494
##  [50]  4903.351  6877.592  9126.486  7775.947 16072.359 16700.594 10395.480
##  [57]  3035.747  4636.580  2710.482  5543.111  4032.680  5154.591  8463.254
##  [64]  9385.091 10450.884 20453.734 22865.716 16036.227  4160.126  7351.592
##  [71]  5196.587  5696.572  3650.409  6019.129  7125.709  7806.911  7674.315
##  [78] 16424.434 15291.614 10759.906  3452.566  3298.731  4314.071  7349.846
##  [85]  4573.345  7427.201 10632.398 10414.341  8294.976 15628.605 17749.911
##  [92] 14902.918  5179.017  9285.925  9370.956  8225.013  3660.533  6674.905
##  [99]  9392.654 11613.538  9537.176 16557.560 19713.440 16547.659  5897.225
## [106]  5489.062  6250.329  5846.114  4740.811  9625.044  9176.588  7842.028
## [113]  8507.620 18175.973 17552.212 11245.920  5003.837  6854.186  5473.245
## [120]  4881.444  3224.738  5958.198  7600.705  9398.594  6903.375 13882.113
## [127] 14405.171 11076.840  4898.445  8756.927  7611.317 10307.008  5115.195
## [134]  6550.382  7109.558  8628.568  8627.713 17773.542 18324.415 13320.735
## [141]  3405.693  7075.880  5737.784  6295.850  4509.471  7140.825  7216.788
## [148]  7521.086  6589.255 18768.184 18458.116 16306.904 10140.143 15621.961
## [155] 14576.968  5027.091  6803.032 12458.166 16784.714 16870.608 21859.073
## [162] 36209.913 32044.747 21637.337 10987.475  9402.440  7924.627  6766.473
## [169] 11955.667 20213.011 23852.732 24970.416 24484.593 32982.974 30175.064
## [176] 19877.808 11710.948 22743.220 21280.072 12921.248  6197.197  7082.039
## [183]  9164.375  7793.912  9513.677 18410.011 17194.795
# 9854.40
RW_RMSE_ARUMA_S
## $rwRMSE
## [1] 8650.16
## 
## $trainingSize
## [1] 17
## 
## $numwindows
## [1] 178
## 
## $horizon
## [1] 6
## 
## $s
## [1] 12
## 
## $d
## [1] 1
## 
## $phi
## [1] -0.002148641  0.997349901
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  2922.069  3453.452  4139.833  3793.916  2692.029  4518.780 12481.700
##   [8] 15788.596  3716.212  2330.292  6491.302  5363.758  8582.198  6497.638
##  [15]  2150.615  7957.524  2453.171  2257.827  6384.226 10247.706  3826.222
##  [22]  2792.404  3188.393  5836.823 12603.098 18636.681  3400.963 11138.126
##  [29]  6195.606  4857.976 10928.373 12921.909  2147.235  2273.564  3896.855
##  [36] 12436.059  6374.155  4970.529 11040.101  5662.972  7164.437  4230.811
##  [43] 10761.266 10510.047  9453.320 11236.857 17291.600 20937.900  1354.635
##  [50]  4822.225  2557.384  7504.364  2397.118  2216.022  4983.154  2849.489
##  [57]  9020.758  6747.154  6214.442  9113.338 12720.553  2936.818  3344.632
##  [64]  2309.168  7370.778  2931.334  3350.032  4580.834 10505.924 14888.128
##  [71]  3769.106 18058.739 11384.933  1555.653  1772.837  2280.206  1784.011
##  [78]  6966.803  2352.878 11879.827  3022.246  8511.340  4032.384  6867.621
##  [85] 14188.209  7690.192  7171.491  4344.481  1484.110  4116.472  6956.026
##  [92]  4330.001  2325.942  3492.975  1927.244  1570.041  4220.164  2143.790
##  [99]  2942.228  3129.766  3172.770  8799.098 19331.821  3767.742 15838.603
## [106] 10882.661 11050.034  2281.524  2235.069 10334.176  6794.135  2762.708
## [113]  6091.538  4645.624 14098.551  4827.606 15499.551  2255.285  3718.657
## [120]  4922.273  2512.011  6244.880  7469.547  3265.502  9889.496  5041.609
## [127]  5258.622  8216.868  9702.097  6047.222  3171.229  6260.364  2827.806
## [134]  4200.027  2652.543  3255.407  7685.433  4470.585  5338.493  9466.804
## [141]  7267.483  6791.248  7518.433 18484.315 43138.309 18775.905 34284.314
## [148] 15908.216  6123.197 11013.403  9326.981 31627.056 20027.035  9990.797
## [155]  7047.728 16326.095 39645.704 25748.719 24407.159 16379.640  3417.529
## [162] 18581.468  7380.114 16361.120 15596.332  8775.930 13486.799 39235.986
## [169] 45252.211 11068.683 15831.035 10170.318 10400.351  9113.262 13113.420
## [176] 12425.224  7874.197 13599.611
# 8650.16
# ARUMA has the smallest RMSE for short-term forecast: 8650.16

ASE_ARMA_S
## [1] 302887206
# 302887206
ASE_ARIMA_S
## [1] 12498440
# 12498440
ASE_ARUMA_S
## [1] 261542338
# 261542338
ASE_VAR_S
## [1] 303189519
# 303189519
ASE_MLP_S
## [1] 7542249
# 7542249
ASE_ENSEMBLE_S
## [1] 14202982
# 14202982
# MLP has the smallest ASE for short-term forecast: 7542249


# Evaluating models for long-term forecast:

RW_RMSE_ARMA_L
## $rwRMSE
## [1] 29023
## 
## $trainingSize
## [1] 2
## 
## $numwindows
## [1] 139
## 
## $horizon
## [1] 60
## 
## $s
## [1] 0
## 
## $d
## [1] 0
## 
## $phi
## [1] 0.9908456
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1] 13814.783 15663.242 16426.678 17841.641 21308.614 19166.208 19244.668
##   [8] 15231.619 13052.541 13550.657 14908.770 10100.518 11760.162 13935.586
##  [15] 13582.097 15646.388 18061.470 16483.520 15185.106 10695.227  9017.852
##  [22]  7193.491  7852.119  8184.695  7173.998  7315.874  7880.601 10375.332
##  [29] 13531.313 12283.329 10453.814  9430.413  8778.663  9035.320  9273.796
##  [36] 11612.059 10417.531 10101.706 10143.221 10773.594 11456.691 12082.532
##  [43] 12383.801 13755.511 14932.213 14791.891 13946.365 19518.770 16468.006
##  [50] 18180.584 17996.766 16970.502 17157.228 18551.148 19481.444 21988.856
##  [57] 24202.828 25161.121 23288.537 31331.358 27750.181 23889.721 23783.046
##  [64] 22299.113 21578.282 23402.103 25472.495 27358.265 29902.531 28919.685
##  [71] 28108.810 36725.200 33327.615 29269.608 25999.955 24291.450 23394.031
##  [78] 24998.055 27333.149 30311.438 31621.830 32339.675 30665.383 37655.716
##  [85] 32717.350 30720.591 30272.453 27735.698 26053.739 27299.011 29331.684
##  [92] 32409.499 35011.450 33804.980 30470.058 38609.414 34640.221 32355.456
##  [99] 30576.744 26396.367 25568.650 28904.192 31104.428 35140.816 38848.555
## [106] 39134.167 35506.647 43304.307 40790.702 37819.971 37040.993 33851.992
## [113] 33684.697 37738.894 40261.191 44772.988 46626.712 46137.802 46918.907
## [120] 56327.847 51795.760 52238.558 52784.288 53065.684 54884.819 59290.625
## [127] 61374.854 65241.793 68634.816 69037.748 67093.764 74431.244 71346.709
## [134] 70060.597 71027.915 68116.369 69093.441 71542.463 74714.099
# 29023
RW_RMSE_ARIMA_L
## $rwRMSE
## [1] 34804.3
## 
## $trainingSize
## [1] 5
## 
## $numwindows
## [1] 136
## 
## $horizon
## [1] 60
## 
## $s
## [1] 0
## 
## $d
## [1] 1
## 
## $phi
## [1] -0.9961147 -0.9922185
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1]  5922.501  6668.376  7787.308  8352.803  7819.549  7361.239  7561.285
##   [8]  7730.384  8782.245  9353.982  9715.962  9014.973  8830.834  9311.703
##  [15] 10197.712 10692.952 11860.263 13047.036 16127.417 17653.839 20610.899
##  [22] 20866.096 21695.862 19568.439 17894.231 15502.271 14838.756 15518.178
##  [29] 17360.298 19623.866 21881.341 23399.930 25432.754 26404.495 27198.671
##  [36] 25664.456 24998.203 24093.071 23579.481 23332.261 25499.445 28107.415
##  [43] 30238.560 29976.814 32162.413 32852.066 35384.152 34417.862 34328.032
##  [50] 33018.365 32614.638 33266.063 35455.979 37914.493 40523.990 40766.990
##  [57] 43629.463 44554.370 44593.263 40789.997 37594.311 35643.200 34841.149
##  [64] 35921.721 38511.531 41187.700 42516.539 42576.195 45394.547 47131.187
##  [71] 47433.241 42312.736 37445.113 33658.326 32654.746 33664.328 36860.251
##  [78] 39615.764 41748.857 41615.063 44011.986 43900.103 43750.771 40183.967
##  [85] 37504.646 34670.331 32846.711 33125.144 35978.458 39172.483 40944.926
##  [92] 39757.054 41028.690 41147.308 41862.944 38037.179 33717.588 29841.843
##  [99] 28988.416 30829.350 35129.060 39319.641 42593.013 42192.066 43745.574
## [106] 44223.142 44986.892 41862.119 38040.736 35198.066 34810.754 36895.679
## [113] 41377.826 44660.900 46635.690 46806.844 50642.122 52519.960 54317.095
## [120] 52042.037 51686.787 51449.942 53001.402 55520.013 59434.028 62870.463
## [127] 65573.372 65581.605 67579.770 68037.959 68935.558 66787.198 64630.643
## [134] 63361.388 62798.470 65159.978
# 34804.3
RW_RMSE_ARUMA_L
## $rwRMSE
## [1] 150777.7
## 
## $trainingSize
## [1] 16
## 
## $numwindows
## [1] 125
## 
## $horizon
## [1] 60
## 
## $s
## [1] 12
## 
## $d
## [1] 1
## 
## $phi
## [1] 0.9908456
## 
## $theta
## [1] 0
## 
## $RMSEs
##   [1] 125331.438  70784.198 128891.477  67231.980 147359.130  71960.569
##   [7]  37271.319 492433.900  17080.566  42153.272 158594.107 245452.591
##  [13] 207765.840 165054.257 105488.699  17516.245 159674.048 289623.009
##  [19] 175967.331 332195.540 109549.481  87632.388 170690.397  98395.815
##  [25]  54745.074 386400.611 149179.012 256028.815 125782.364 309538.779
##  [31] 170798.506 126654.762 169840.750 326524.155 189790.292 377081.181
##  [37]  80737.612 204682.302 148473.694 265079.105  55070.325 164367.978
##  [43]  65712.115 153481.592   9757.414  78275.094  34586.601 714481.034
##  [49]   8951.842  28653.245 106418.915  72215.735 174663.331 108432.870
##  [55]  47052.655 218808.664 153622.480  45765.239  47669.394  18287.334
##  [61] 377532.390  28799.826  19057.774  40761.802  52115.066 161344.723
##  [67] 152680.208 222705.906  81007.446 179340.724 174030.334 251427.413
##  [73] 377202.604  41781.071  55016.007  49205.867  52501.602   7063.990
##  [79] 154041.774 221739.397 214093.514 130111.817 109715.768  35656.985
##  [85] 159516.631 201229.051  95897.264 235485.092  23301.501  72915.294
##  [91]  76822.191 126532.070  46317.518  85601.758 115572.896 148696.571
##  [97]  18192.901  48409.877 111069.396   8556.713  76297.174  10360.280
## [103] 306620.180 250349.432 367735.101 217729.169 445209.827 242777.181
## [109]  42682.335 245409.829 204372.357  62374.468  52900.662  54949.225
## [115] 270137.939 212937.874 279707.564 132918.245 297624.367  73797.737
## [121] 298224.517 187059.150 119820.178 162987.613 297468.534
# 150777.7
# ARMA has the smallest RMSE for short-term forecast: 29023

ASE_ARMA_L
## [1] 18852254446
# 18852254446
ASE_ARIMA_L
## [1] 6392665503
# 6392665503
ASE_ARUMA_L
## [1] 3489515518
# 3489515518
ASE_VAR_L
## [1] 1020036688
# 1020036688
ASE_MLP_L
## [1] 3873669021
# 3873669021
ASE_ENSEMBLE_L
## [1] 5043349630
# 5043349630
# VAR  has the smallest ASE for long-term forecast: 3380516580

# Plotting short-term forecast versus actual price for MLP
plot(df_test_s$home_price[1:6],type = "l")
lines(seq(1,6),forecast_mlp_short$mean, col = "blue")
legend("topright", legend=c("Actual Price", "Predicted Price"), col=c("black", "blue"), lty=1:1, cex=1)

# Plotting long-term forecast versus actual price for VAR
plot(df_test_l$home_price[1:60],type = "l")
lines(seq(1,60), preds_var_l$fcst$home_price[,1], col = "blue")
legend("topleft", legend=c("Actual Price", "Predicted Price"), col=c("black", "blue"), lty=1:1, cex=1)

# 6. Provide the forecasts and prediction limits (when possible) for both the short and long term forecasts. 

# Training the model on the entire data set for short-term forecast with MLP
# Forecasting unemployment and CPI
mlp_fit_unemp_short = mlp(unemp_ts, reps = 50, comb = "median")
fore_mlp_unemp_short = forecast(mlp_fit_unemp_short, h = 6)
mlp_fit_cpi_short = mlp(cpi_ts, reps = 50, comb = "median")
fore_mlp_cpi_short = forecast(mlp_fit_cpi_short, h = 6)

# Fitting the model
mlp_fit_short = mlp(home_price_ts, xreg = data.frame(cpi = cpi_ts, unemp = unemp_ts))
df_original = data.frame(cpi = df$cpi, unemp = df$unemp)
df_fore_s = data.frame(cpi = fore_mlp_cpi_short$mean, unemp = fore_mlp_unemp_short$mean)

# Forecasting
forecast_mlp_short = forecast(mlp_fit_short, h=6, xreg = rbind(df_original, df_fore_s))
forecast_mlp_short
##           Mar      Apr      May      Jun      Jul      Aug
## 2024 339135.1 349414.5 356094.5 364038.1 364860.6 371273.2
# Training the model on the entire data set for long-term forecast with VAR
VARselect(df, type = "both")
## $selection
## AIC(n)  HQ(n)  SC(n) FPE(n) 
##      9      2      2      9 
## 
## $criteria
##                   1            2            3            4            5
## AIC(n) 1.630851e+01 1.598298e+01 1.597746e+01 1.600415e+01 1.591258e+01
## HQ(n)  1.641007e+01 1.614549e+01 1.620091e+01 1.628854e+01 1.625791e+01
## SC(n)  1.655938e+01 1.638438e+01 1.652939e+01 1.670661e+01 1.676556e+01
## FPE(n) 1.209786e+07 8.737353e+06 8.691141e+06 8.929609e+06 8.152968e+06
##                   6            7            8            9           10
## AIC(n) 1.584381e+01 1.586556e+01 1.581091e+01 1.578811e+01 1.580719e+01
## HQ(n)  1.625008e+01 1.633277e+01 1.633905e+01 1.637720e+01 1.645721e+01
## SC(n)  1.684731e+01 1.701959e+01 1.711546e+01 1.724320e+01 1.741279e+01
## FPE(n) 7.617409e+06 7.793679e+06 7.389892e+06 7.236718e+06 7.392905e+06
var_fit=VAR(df,p=2, lag.max = 6, season = 12)
preds_var = predict(var_fit,n.ahead= 60)
preds_var
## $cpi
##           fcst    lower    upper        CI
##  [1,] 286.6585 285.1030 288.2140  1.555492
##  [2,] 287.4309 284.8510 290.0108  2.579916
##  [3,] 288.0799 284.7178 291.4421  3.362166
##  [4,] 288.9013 284.9280 292.8746  3.973329
##  [5,] 288.9477 284.4783 293.4171  4.469398
##  [6,] 288.9871 284.0993 293.8749  4.887796
##  [7,] 289.4930 284.2400 294.7460  5.253010
##  [8,] 289.4260 283.8446 295.0075  5.581487
##  [9,] 288.9158 283.0311 294.8005  5.884695
## [10,] 288.3741 282.2031 294.5450  6.170919
## [11,] 289.2958 282.8495 295.7421  6.446312
## [12,] 290.3800 283.6644 297.0955  6.715540
## [13,] 291.5854 284.6032 298.5676  6.982181
## [14,] 292.3440 285.0950 299.5930  7.248997
## [15,] 292.9992 285.4811 300.5173  7.518118
## [16,] 293.8308 286.0396 301.6220  7.791179
## [17,] 293.8868 285.8174 301.9562  8.069415
## [18,] 293.9337 285.5800 302.2875  8.353747
## [19,] 294.4449 285.8001 303.0898  8.644836
## [20,] 294.3811 285.4379 303.3242  8.943138
## [21,] 293.8720 284.6231 303.1209  9.248939
## [22,] 293.3297 283.7673 302.8921  9.562393
## [23,] 294.2493 284.3657 304.1328  9.883545
## [24,] 295.3298 285.1175 305.5422 10.212356
## [25,] 296.5304 285.9817 307.0791 10.548720
## [26,] 297.2831 286.3906 308.1755 10.892481
## [27,] 297.9314 286.6879 309.1748 11.243443
## [28,] 298.7551 287.1538 310.3565 11.601382
## [29,] 298.8025 286.8365 310.7686 11.966052
## [30,] 298.8401 286.5029 311.1773 12.337196
## [31,] 299.3414 286.6269 312.0560 12.714546
## [32,] 299.2671 286.1693 312.3649 13.097831
## [33,] 298.7471 285.2603 312.2338 13.486778
## [34,] 298.1934 284.3123 312.0745 13.881117
## [35,] 299.1013 284.8207 313.3818 14.280581
## [36,] 300.1698 285.4849 314.8547 14.684907
## [37,] 301.3580 286.2642 316.4519 15.093840
## [38,] 302.0981 286.5910 317.6052 15.507131
## [39,] 302.7336 286.8091 318.6581 15.924538
## [40,] 303.5444 287.1986 319.8903 16.345828
## [41,] 303.5787 286.8079 320.3495 16.770776
## [42,] 303.6031 286.4039 320.8023 17.199164
## [43,] 304.0910 286.4603 321.7218 17.630782
## [44,] 304.0033 285.9379 322.0687 18.065429
## [45,] 303.4698 284.9669 321.9727 18.502913
## [46,] 302.9026 283.9595 321.8456 18.943046
## [47,] 303.7968 284.4112 323.1825 19.385650
## [48,] 304.8518 285.0212 324.6823 19.830554
## [49,] 306.0264 285.7488 326.3040 20.277594
## [50,] 306.7528 286.0262 327.4794 20.726611
## [51,] 307.3747 286.1973 328.5522 21.177454
## [52,] 308.1719 286.5419 329.8019 21.629977
## [53,] 308.1926 286.1085 330.2766 22.084042
## [54,] 308.2034 285.6639 330.7429 22.539514
## [55,] 308.6778 285.6815 331.6741 22.996264
## [56,] 308.5765 285.1224 332.0307 23.454171
## [57,] 308.0295 284.1164 331.9427 23.913114
## [58,] 307.4489 283.0759 331.8219 24.372982
## [59,] 308.3298 283.4961 333.1634 24.833664
## [60,] 309.3713 284.0763 334.6664 25.295055
## 
## $unemp
##           fcst    lower    upper       CI
##  [1,] 3.999204 2.900838 5.097569 1.098366
##  [2,] 4.488896 2.821708 6.156084 1.667188
##  [3,] 4.536667 2.491192 6.582142 2.045475
##  [4,] 4.532801 2.225230 6.840372 2.307571
##  [5,] 4.535069 2.039970 7.030169 2.495099
##  [6,] 4.502335 1.869945 7.134724 2.632389
##  [7,] 4.517339 1.782842 7.251836 2.734497
##  [8,] 4.509961 1.698680 7.321242 2.811281
##  [9,] 4.504191 1.634685 7.373696 2.869505
## [10,] 4.523980 1.610001 7.437959 2.913979
## [11,] 4.510891 1.562682 7.459100 2.948209
## [12,] 4.500565 1.525768 7.475361 2.974796
## [13,] 4.564806 1.569112 7.560501 2.995695
## [14,] 5.007076 1.994694 8.019458 3.012382
## [15,] 5.005462 1.979483 8.031441 3.025979
## [16,] 4.954741 1.917403 7.992078 3.037338
## [17,] 4.914056 1.866953 7.961158 3.047102
## [18,] 4.842436 1.786676 7.898196 3.055760
## [19,] 4.822395 1.758721 7.886069 3.063674
## [20,] 4.783482 1.712368 7.854597 3.071115
## [21,] 4.749348 1.671069 7.827627 3.078279
## [22,] 4.743630 1.658323 7.828937 3.085307
## [23,] 4.707603 1.615305 7.799901 3.092298
## [24,] 4.676648 1.577332 7.775965 3.099317
## [25,] 4.722338 1.615934 7.828742 3.106404
## [26,] 5.147922 2.034339 8.261505 3.113583
## [27,] 5.131299 2.010438 8.252161 3.120862
## [28,] 5.067077 1.938837 8.195318 3.128241
## [29,] 5.014247 1.878535 8.149960 3.135713
## [30,] 4.931701 1.788435 8.074966 3.143265
## [31,] 4.901828 1.750944 8.052712 3.150884
## [32,] 4.854068 1.695515 8.012621 3.158553
## [33,] 4.811971 1.645716 7.978226 3.166255
## [34,] 4.799087 1.625114 7.973060 3.173973
## [35,] 4.756608 1.574917 7.938300 3.181691
## [36,] 4.719845 1.530451 7.909239 3.189394
## [37,] 4.760304 1.563237 7.957371 3.197067
## [38,] 5.181177 1.976480 8.385874 3.204697
## [39,] 5.160311 1.948039 8.372582 3.212272
## [40,] 5.092265 1.872485 8.312046 3.219780
## [41,] 5.035989 1.808776 8.263203 3.227214
## [42,] 4.950337 1.715774 8.184900 3.234563
## [43,] 4.917663 1.675842 8.159485 3.241821
## [44,] 4.867377 1.618395 8.116359 3.248982
## [45,] 4.823001 1.566961 8.079042 3.256041
## [46,] 4.808060 1.545068 8.071053 3.262992
## [47,] 4.763725 1.493891 8.033558 3.269833
## [48,] 4.725284 1.448723 8.001845 3.276561
## [49,] 4.764228 1.481055 8.047401 3.283173
## [50,] 5.183731 1.894063 8.473399 3.289668
## [51,] 5.161626 1.865581 8.457671 3.296045
## [52,] 5.092459 1.790157 8.394762 3.302303
## [53,] 5.035168 1.726727 8.343610 3.308441
## [54,] 4.948596 1.634134 8.263057 3.314461
## [55,] 4.915089 1.594726 8.235451 3.320363
## [56,] 4.864046 1.537900 8.190192 3.326146
## [57,] 4.818984 1.487170 8.150797 3.331813
## [58,] 4.803419 1.466054 8.140783 3.337365
## [59,] 4.758516 1.415714 8.101317 3.342801
## [60,] 4.719559 1.371433 8.067684 3.348126
## 
## $home_price
##           fcst    lower    upper        CI
##  [1,] 338765.5 333684.1 343846.9  5081.390
##  [2,] 342449.9 334651.3 350248.6  7798.649
##  [3,] 347976.6 338089.1 357864.2  9887.519
##  [4,] 351896.1 340264.0 363528.2 11632.079
##  [5,] 349663.3 336472.2 362854.4 13191.113
##  [6,] 347120.7 332470.1 361771.2 14650.531
##  [7,] 342925.3 326868.5 358982.0 16056.752
##  [8,] 340343.1 322907.9 357778.4 17435.261
##  [9,] 340376.7 321576.6 359176.8 18800.115
## [10,] 344704.6 324545.7 364863.5 20158.887
## [11,] 333463.0 311947.7 354978.4 21515.374
## [12,] 341077.4 318206.3 363948.6 22871.146
## [13,] 345740.8 321514.4 369967.3 24226.486
## [14,] 349550.2 323969.3 375131.2 25580.951
## [15,] 355249.7 328316.0 382183.5 26933.723
## [16,] 359343.3 331059.5 387627.1 28283.825
## [17,] 357271.6 327641.3 386901.8 29630.249
## [18,] 354873.5 323901.5 385845.5 30972.028
## [19,] 350806.1 318497.9 383114.4 32308.281
## [20,] 348336.6 314698.4 381974.8 33638.230
## [21,] 348468.9 313507.7 383430.1 34961.204
## [22,] 352882.8 316606.2 389159.5 36276.641
## [23,] 341716.0 304131.9 379300.1 37584.078
## [24,] 349394.9 310511.8 388278.1 38883.146
## [25,] 354113.8 313940.2 394287.4 40173.557
## [26,] 357970.4 316515.3 399425.5 41455.095
## [27,] 363709.9 320982.3 406437.5 42727.607
## [28,] 367836.7 323845.7 411827.7 43990.993
## [29,] 365792.4 320547.2 411037.6 45245.200
## [30,] 363416.5 316926.2 409906.7 46490.215
## [31,] 359366.5 311640.4 407092.5 47726.055
## [32,] 356910.0 307957.3 405862.8 48952.764
## [33,] 357051.6 306881.2 407222.0 50170.408
## [34,] 361471.5 310092.4 412850.5 51379.072
## [35,] 350307.5 297728.6 402886.3 52578.854
## [36,] 357986.5 304216.6 411756.4 53769.862
## [37,] 362703.0 307750.8 417655.3 54952.213
## [38,] 366555.2 310429.1 422681.2 56126.031
## [39,] 372288.1 314996.7 429579.6 57291.443
## [40,] 376406.8 317958.2 434855.4 58448.578
## [41,] 374352.7 314755.1 433950.3 59597.568
## [42,] 371965.6 311227.1 432704.2 60738.544
## [43,] 367903.3 306031.6 429774.9 61871.637
## [44,] 365433.4 302436.4 428430.3 62996.976
## [45,] 365560.5 301445.8 429675.2 64114.687
## [46,] 369965.0 304740.1 435189.9 65224.896
## [47,] 358785.0 292457.2 425112.7 66327.725
## [48,] 366447.3 299024.0 433870.6 67423.292
## [49,] 371146.5 302634.8 439658.2 68511.712
## [50,] 374980.7 305387.6 444573.8 69593.098
## [51,] 380695.4 310027.8 451362.9 70667.558
## [52,] 384795.3 313060.1 456530.5 71735.198
## [53,] 382722.2 309926.0 455518.3 72796.118
## [54,] 380315.7 306465.3 454166.1 73850.416
## [55,] 376233.7 301335.5 451131.8 74898.188
## [56,] 373743.9 297804.4 449683.4 75939.523
## [57,] 373850.9 296876.4 450825.5 76974.509
## [58,] 378235.3 300232.0 456238.5 78003.231
## [59,] 367034.8 288009.1 446060.6 79025.770
## [60,] 374676.6 294634.4 454718.9 80042.204